{"openapi":"3.1.0","info":{"title":"Nubea Public API","version":"1.0.0","description":"The merchant dashboard API, authenticated with store-scoped keys. 120 requests/minute per store. Business validation, subscriptions, queues and response shapes are shared with the dashboard. This discovery specification describes routes; endpoint payload schemas remain in the existing validators."},"servers":[{"url":"/v1"}],"paths":{"/store/information":{"get":{"operationId":"get_store_information","summary":"Get the store record as persisted by Nubea.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/store/branding":{"get":{"operationId":"get_store_branding","summary":"Get the agency branding shown in this store's dashboard, if any.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/store":{"patch":{"operationId":"patch_store","summary":"Update store settings such as the WhatsApp connection type and preferences.","description":"Required scopes: platform:write, integrations:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"get":{"operationId":"get_store","summary":"Get the store profile: name, domain, platform, plan and settings.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/stores/team":{"get":{"operationId":"get_stores_team","summary":"List team members and pending invitations, with their roles.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/stores/team/invitations":{"post":{"operationId":"post_stores_team_invitations","summary":"Invite someone to the team by email with a role (owner, member or agent).","description":"Required scopes: platform:write, team:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/stores/team/invitations/{id}":{"delete":{"operationId":"delete_stores_team_invitations_by_id","summary":"Revoke a pending team invitation.","description":"Required scopes: platform:write, team:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/stores/team/members/{userId}":{"delete":{"operationId":"delete_stores_team_members_by_userId","summary":"Remove a member from the team. Their API keys stop working.","description":"Required scopes: platform:write, team:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"userId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/subscription":{"get":{"operationId":"get_subscription","summary":"Current subscription: plan, status, provider, next charge.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/subscription/payments":{"get":{"operationId":"get_subscription_payments","summary":"Payment history.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/subscription/checkout-result":{"get":{"operationId":"get_subscription_checkout_result","summary":"Result of the last checkout.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/subscription/trial":{"get":{"operationId":"get_subscription_trial","summary":"Free trial state and whether a payment failed recently.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/subscription/usage":{"get":{"operationId":"get_subscription_usage","summary":"Message usage against the plan for the current cycle.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/subscription/pre-approval":{"get":{"operationId":"get_subscription_pre_approval","summary":"The recurring payment agreement at the provider.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/subscription/cancel":{"post":{"operationId":"post_subscription_cancel","summary":"Cancel the subscription at the provider. Access ends with the paid period.","description":"Required scopes: platform:write, billing:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/subscription/create-preapproval":{"post":{"operationId":"post_subscription_create_preapproval","summary":"Start a checkout for a plan. Returns a URL the merchant must open to pay.","description":"Required scopes: platform:write, billing:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/subscription/validate-coupon":{"post":{"operationId":"post_subscription_validate_coupon","summary":"Check whether a coupon code can be redeemed.","description":"Required scopes: platform:write, billing:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/subscription/update-plan":{"post":{"operationId":"post_subscription_update_plan","summary":"Change plan or billing cycle. May open a new checkout.","description":"Required scopes: platform:write, billing:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/subscription/resume":{"post":{"operationId":"post_subscription_resume","summary":"Resume a paused subscription through a new checkout.","description":"Required scopes: platform:write, billing:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/subscription/card-update":{"post":{"operationId":"post_subscription_card_update","summary":"Rebill only: returns a URL where the merchant replaces the card. A failed charge is retried with the new card.","description":"Required scopes: platform:write, billing:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/stock-notifications/metrics":{"get":{"operationId":"get_stock_notifications_metrics","summary":"Back-in-stock metrics: subscribers, alerts sent, conversions.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/stock-notifications/export":{"get":{"operationId":"get_stock_notifications_export","summary":"Email a CSV of back-in-stock subscribers to the merchant. Queues a job.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/stock-notifications/list":{"get":{"operationId":"get_stock_notifications_list","summary":"People waiting for products to come back in stock.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/stock-notifications/settings":{"get":{"operationId":"get_stock_notifications_settings","summary":"Back-in-stock alert settings.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"operationId":"post_stock_notifications_settings","summary":"Update the back-in-stock alert settings and register the platform webhook.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload, validated with this schema by the dashboard endpoint.","content":{"application/json":{"schema":{"type":"object","properties":{"isEnabled":{"type":"boolean"},"ignoreStockThreshold":{"type":"boolean"},"isPerfitEnabled":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"allowEmails":{"type":"boolean"},"allowPhones":{"type":"boolean"},"templateEmail":{"type":"object","properties":{"subject":{"type":"string","maxLength":500},"logo":{"type":"string","maxLength":2000},"mainTitle":{"type":"string","maxLength":500},"greeting":{"type":"string","maxLength":1000},"mainContent":{"type":"string","maxLength":5000},"buttonText":{"type":"string","maxLength":200},"footerText":{"type":"string","maxLength":5000}}},"templateWhatsApp":{"type":"string","maxLength":5000},"kapsoTemplateId":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"buttonShowInProductPage":{"type":"boolean"},"buttonShowInProductList":{"type":"boolean"},"buttonFontColor":{"anyOf":[{"type":"string","maxLength":5000},{"type":"null"}]},"buttonBackgroundColor":{"anyOf":[{"type":"string","maxLength":5000},{"type":"null"}]},"buttonBorderColor":{"anyOf":[{"type":"string","maxLength":5000},{"type":"null"}]},"buttonBorderRadius":{"anyOf":[{"type":"string","maxLength":5000},{"type":"null"}]},"buttonInProductPageCSS":{"anyOf":[{"type":"string","maxLength":5000},{"type":"null"}]},"buttonInProductListCSS":{"anyOf":[{"type":"string","maxLength":5000},{"type":"null"}]},"notificationRequestMessage":{"anyOf":[{"type":"string","maxLength":5000},{"type":"null"}]},"modalTitle":{"anyOf":[{"type":"string","maxLength":5000},{"type":"null"}]},"modalDescription":{"anyOf":[{"type":"string","maxLength":5000},{"type":"null"}]},"modalBorderRadius":{"anyOf":[{"type":"string","maxLength":5000},{"type":"null"}]},"modalButtonColor":{"anyOf":[{"type":"string","maxLength":5000},{"type":"null"}]},"modalButtonTextColor":{"anyOf":[{"type":"string","maxLength":5000},{"type":"null"}]},"modalBackgroundColor":{"anyOf":[{"type":"string","maxLength":5000},{"type":"null"}]},"modalTextColor":{"anyOf":[{"type":"string","maxLength":5000},{"type":"null"}]},"modalSubmitButtonText":{"anyOf":[{"type":"string","maxLength":5000},{"type":"null"}]},"emailInputPlaceholder":{"anyOf":[{"type":"string","maxLength":5000},{"type":"null"}]},"phoneInputPlaceholder":{"anyOf":[{"type":"string","maxLength":5000},{"type":"null"}]},"successMessage":{"anyOf":[{"type":"string","maxLength":5000},{"type":"null"}]},"errorMessage":{"anyOf":[{"type":"string","maxLength":5000},{"type":"null"}]},"alreadySubscribedMessage":{"anyOf":[{"type":"string","maxLength":5000},{"type":"null"}]},"retryButtonText":{"anyOf":[{"type":"string","maxLength":5000},{"type":"null"}]},"loadingButtonText":{"anyOf":[{"type":"string","maxLength":5000},{"type":"null"}]},"invalidEmailMessage":{"anyOf":[{"type":"string","maxLength":5000},{"type":"null"}]}}}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/stock-notifications/send-single/{notificationId}":{"post":{"operationId":"post_stock_notifications_send_single_by_notificationId","summary":"Send one back-in-stock alert now.","description":"Required scopes: platform:write, messages:send. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"notificationId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/stock-notifications/send-test-email":{"post":{"operationId":"post_stock_notifications_send_test_email","summary":"Send a test back-in-stock email.","description":"Required scopes: platform:write, messages:send. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/stock-notifications/{notificationId}":{"get":{"operationId":"get_stock_notifications_by_notificationId","summary":"Get one back-in-stock subscription.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"notificationId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"delete":{"operationId":"delete_stock_notifications_by_notificationId","summary":"Delete a back-in-stock subscription.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"notificationId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/tiendanube/products":{"get":{"operationId":"get_tiendanube_products","summary":"Search the catalog on the ecommerce platform (products with variants, prices and stock).","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/tiendanube/categories":{"get":{"operationId":"get_tiendanube_categories","summary":"List the categories on the ecommerce platform.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/analytics/orders":{"get":{"operationId":"get_analytics_orders","summary":"Orders from the ecommerce platform for a date range, as the statistics screens read them.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/whatsapp/session":{"post":{"operationId":"post_whatsapp_session","summary":"Start a WhatsApp QR session. The merchant must scan the QR in the dashboard.","description":"Required scopes: platform:write, integrations:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"get":{"operationId":"get_whatsapp_session","summary":"Current WhatsApp connection state for the store (QR, official API or shared number).","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"delete":{"operationId":"delete_whatsapp_session","summary":"Disconnect the WhatsApp QR session.","description":"Required scopes: platform:write, integrations:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/whatsapp/send-message":{"post":{"operationId":"post_whatsapp_send_message","summary":"Send one WhatsApp message to a phone number through the connected provider.","description":"Required scopes: platform:write, messages:send. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/whatsapp/connect-nubea":{"post":{"operationId":"post_whatsapp_connect_nubea","summary":"Connect the store to Nubea's shared official WhatsApp number.","description":"Required scopes: platform:write, integrations:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/whatsapp/disconnect-nubea":{"post":{"operationId":"post_whatsapp_disconnect_nubea","summary":"Disconnect the store from Nubea's shared WhatsApp number.","description":"Required scopes: platform:write, integrations:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/whatsapp-button":{"get":{"operationId":"get_whatsapp_button","summary":"Get the floating WhatsApp button widget settings.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"operationId":"post_whatsapp_button","summary":"Create the floating WhatsApp button widget.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload, validated with this schema by the dashboard endpoint.","content":{"application/json":{"schema":{"type":"object","properties":{"isVisible":{"default":false,"type":"boolean"},"whatsapps":{"minItems":1,"maxItems":10,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":40},"number":{"type":"string"},"isEnabled":{"default":true,"type":"boolean"}},"required":["name","number"],"additionalProperties":false}}},"required":["whatsapps"],"additionalProperties":false}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/whatsapp-button/{whatsappButtonId}":{"patch":{"operationId":"patch_whatsapp_button_by_whatsappButtonId","summary":"Update the floating WhatsApp button widget.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"whatsappButtonId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"JSON payload, validated with this schema by the dashboard endpoint.","content":{"application/json":{"schema":{"type":"object","properties":{"isVisible":{"default":false,"type":"boolean"},"whatsapps":{"minItems":1,"maxItems":10,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":40},"number":{"type":"string"},"isEnabled":{"default":true,"type":"boolean"}},"required":["name","number"],"additionalProperties":false}}},"required":["whatsapps"],"additionalProperties":false}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/notifications":{"get":{"operationId":"get_notifications","summary":"Dashboard notifications for the store.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/notifications/create":{"post":{"operationId":"post_notifications_create","summary":"Create a dashboard notification.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/notifications/remove":{"delete":{"operationId":"delete_notifications_remove","summary":"Delete a notification.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/notifications/read":{"post":{"operationId":"post_notifications_read","summary":"Mark a notification as read.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/notifications/read-all":{"post":{"operationId":"post_notifications_read_all","summary":"Mark every notification as read.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/automations":{"post":{"operationId":"post_automations","summary":"Create an automation. It starts sending once active and a WhatsApp number is connected.","description":"Required scopes: platform:write, messages:send. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"get":{"operationId":"get_automations","summary":"List WhatsApp automations (abandoned cart, order shipped, payment reminder, cashback...).","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/automations/{id}":{"put":{"operationId":"put_automations_by_id","summary":"Update an automation: message, delay, conditions, active state, or its `flow` of extra steps (validated; a saved flow is versioned).","description":"Required scopes: platform:write, messages:send. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"get":{"operationId":"get_automations_by_id","summary":"Get one automation with its message, timing, conditions and the extra steps in `flow` (waits, purchase check, coupon, follow-up messages).","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"delete":{"operationId":"delete_automations_by_id","summary":"Delete an automation. Scheduled messages for it are cancelled.","description":"Required scopes: platform:write, messages:send. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/automations/{id}/execute":{"post":{"operationId":"post_automations_by_id_execute","summary":"Run the automation now over its current candidates. Sends real messages.","description":"Required scopes: platform:write, messages:send. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/automations/{id}/test":{"post":{"operationId":"post_automations_by_id_test","summary":"Send a test of the automation message to a phone number.","description":"Required scopes: platform:write, messages:send. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/automations/executions/{automationExecutionId}/run":{"post":{"operationId":"post_automations_executions_by_automationExecutionId_run","summary":"Send one pending automation message now.","description":"Required scopes: platform:write, messages:send. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"automationExecutionId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/automations/executions/{automationExecutionId}/cancel":{"post":{"operationId":"post_automations_executions_by_automationExecutionId_cancel","summary":"Cancel one pending automation message.","description":"Required scopes: platform:write, messages:send. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"automationExecutionId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/automations/{automationId}/report":{"get":{"operationId":"get_automations_by_automationId_report","summary":"Executions of an automation for a period: sent, delivered, failed, converted.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"automationId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/automations/{automationId}/failures":{"get":{"operationId":"get_automations_by_automationId_failures","summary":"Failure reasons of an automation, grouped and counted.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"automationId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/automations/{automationId}/flow/stats":{"get":{"operationId":"get_automations_by_automationId_flow_stats","summary":"Per-step counters of the automation flow: customers waiting on each step and how its follow-up messages fared.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"automationId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/automations/{automationId}/flow/versions":{"get":{"operationId":"get_automations_by_automationId_flow_versions","summary":"Saved versions of the automation flow steps, newest first (restore one by sending its flow back through PUT /automations/:id).","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"automationId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/newsletter/all-suscribers":{"get":{"operationId":"get_newsletter_all_suscribers","summary":"Subscribers captured by the popup.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/newsletter/settings":{"get":{"operationId":"get_newsletter_settings","summary":"Popup settings: design, coupon, roulette and display rules.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"operationId":"post_newsletter_settings","summary":"Update the popup settings. Validates the full design.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/newsletter/publication-status":{"get":{"operationId":"get_newsletter_publication_status","summary":"Whether the popup script is live on the storefront.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/newsletter/preview":{"post":{"operationId":"post_newsletter_preview","summary":"Create a storefront preview link for the popup.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/newsletter/metrics":{"get":{"operationId":"get_newsletter_metrics","summary":"Popup metrics: impressions, subscribers, conversion.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/newsletter/export-subscribers":{"get":{"operationId":"get_newsletter_export_subscribers","summary":"Email a CSV of popup subscribers to the merchant. Queues a job.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/newsletter/upload-image":{"post":{"operationId":"post_newsletter_upload_image","summary":"Upload an image for the popup design.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/contact-form/settings":{"get":{"operationId":"get_contact_form_settings","summary":"Contact form widget settings.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"put":{"operationId":"put_contact_form_settings","summary":"Update the contact form widget settings.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/contact-form/crm-lists":{"get":{"operationId":"get_contact_form_crm_lists","summary":"Contact lists a form submission can be added to.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/contact-form/submissions":{"get":{"operationId":"get_contact_form_submissions","summary":"Submissions received through the contact form.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/contact-form/submissions/export":{"get":{"operationId":"get_contact_form_submissions_export","summary":"Email a CSV of form submissions to the merchant. Queues a job.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/contact-form/submissions/delete":{"post":{"operationId":"post_contact_form_submissions_delete","summary":"Delete contact form submissions by id.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/flash-countdown-bar/settings":{"post":{"operationId":"post_flash_countdown_bar_settings","summary":"Update the top bar settings.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"get":{"operationId":"get_flash_countdown_bar_settings","summary":"Top bar settings: countdown and rotating announcements.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/action-bar/settings":{"get":{"operationId":"get_action_bar_settings","summary":"Action bar widget settings.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"operationId":"post_action_bar_settings","summary":"Update the action bar widget settings.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload, validated with this schema by the dashboard endpoint.","content":{"application/json":{"schema":{"type":"object","properties":{"isActive":{"type":"boolean"},"displayScope":{"type":"string","enum":["mobile","all"]},"buttonText":{"anyOf":[{"type":"string","maxLength":40},{"type":"null"}]},"bgColor":{"type":"string","pattern":"^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$"},"textColor":{"type":"string","pattern":"^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$"},"buttonColor":{"type":"string","pattern":"^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$"},"buttonTextColor":{"type":"string","pattern":"^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$"},"showPrice":{"type":"boolean"},"showImage":{"type":"boolean"},"fontSource":{"type":"string","enum":["body","heading"]}},"required":["isActive","displayScope","buttonText","bgColor","textColor","buttonColor","buttonTextColor","showPrice","showImage","fontSource"],"additionalProperties":false}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/action-bar/deactivate":{"post":{"operationId":"post_action_bar_deactivate","summary":"Turn the action bar off without validating its settings.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/free-shipping-bar/settings":{"get":{"operationId":"get_free_shipping_bar_settings","summary":"Free-shipping progress bar settings.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"operationId":"post_free_shipping_bar_settings","summary":"Update the free-shipping bar: threshold in whole currency units, texts and colors.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload, validated with this schema by the dashboard endpoint.","content":{"application/json":{"schema":{"type":"object","properties":{"isActive":{"default":false,"type":"boolean"},"threshold":{"type":"integer","exclusiveMinimum":0,"maximum":100000000},"textInProgress":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}]},"textAchieved":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}]},"goals":{"anyOf":[{"type":"object","properties":{"version":{"default":1,"type":"number","const":1},"goals":{"minItems":1,"maxItems":5,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":40},"type":{"type":"string","enum":["info","free_shipping","gift"]},"amount":{"type":"integer","exclusiveMinimum":0,"maximum":100000000},"giftId":{"default":null,"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"label":{"default":null,"anyOf":[{"type":"string","maxLength":24},{"type":"null"}]},"textInProgress":{"default":null,"anyOf":[{"type":"string","maxLength":120},{"type":"null"}]},"textAchieved":{"default":null,"anyOf":[{"type":"string","maxLength":120},{"type":"null"}]}},"required":["id","type","amount"],"additionalProperties":false}}},"required":["goals"],"additionalProperties":false},{"type":"null"}]},"cartGoals":{"anyOf":[{"type":"object","properties":{"version":{"default":1,"type":"number","const":1},"goals":{"minItems":1,"maxItems":5,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":40},"type":{"type":"string","enum":["info","free_shipping","gift"]},"amount":{"type":"integer","exclusiveMinimum":0,"maximum":100000000},"giftId":{"default":null,"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"label":{"default":null,"anyOf":[{"type":"string","maxLength":24},{"type":"null"}]},"textInProgress":{"default":null,"anyOf":[{"type":"string","maxLength":120},{"type":"null"}]},"textAchieved":{"default":null,"anyOf":[{"type":"string","maxLength":120},{"type":"null"}]}},"required":["id","type","amount"],"additionalProperties":false}}},"required":["goals"],"additionalProperties":false},{"type":"null"}]},"bgColor":{"type":"string","pattern":"^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$"},"achievedBgColor":{"type":"string","pattern":"^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$"},"textColor":{"type":"string","pattern":"^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$"},"barColor":{"type":"string","pattern":"^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$"},"barTrackColor":{"type":"string","pattern":"^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$"},"fontSize":{"type":"string","enum":["small","medium","large"]},"fontBold":{"type":"boolean"},"fontFamily":{"type":"string","enum":["inherit","Arial","Verdana","Georgia","Times New Roman","Courier New","Trebuchet MS","Impact"]},"layout":{"type":"string","enum":["progress","subtle","compact","clean"]},"shape":{"type":"string","enum":["auto","card"]},"displayScope":{"type":"string","enum":["all","cart","product"]},"canClose":{"type":"boolean"},"keepClosed":{"type":"boolean"}},"required":["threshold"],"additionalProperties":false}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/free-shipping-bar/threshold-suggestion":{"get":{"operationId":"get_free_shipping_bar_threshold_suggestion","summary":"A threshold suggestion computed from recent order amounts.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/wishlist/settings":{"get":{"operationId":"get_wishlist_settings","summary":"Wishlist widget settings.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"operationId":"post_wishlist_settings","summary":"Update the wishlist widget settings.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload, validated with this schema by the dashboard endpoint.","content":{"application/json":{"schema":{"type":"object","properties":{"isActive":{"default":false,"type":"boolean"},"heartColor":{"type":"string","pattern":"^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$"},"heartActiveColor":{"type":"string","pattern":"^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$"},"iconStyle":{"type":"string","enum":["heart","star"]},"buttonBgColor":{"type":"string","pattern":"^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$"},"buttonTextColor":{"type":"string","pattern":"^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$"},"drawerBackgroundColor":{"type":"string","pattern":"^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$"},"askEmailAfter":{"type":"integer","minimum":0,"maximum":50},"panelTitle":{"anyOf":[{"type":"string","maxLength":160},{"type":"null"}]},"emailPromptTitle":{"anyOf":[{"type":"string","maxLength":160},{"type":"null"}]},"emailPromptText":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}]},"reminderEnabled":{"type":"boolean"},"reminderAfterDays":{"type":"integer","minimum":1,"maximum":90},"reminderSubject":{"anyOf":[{"type":"string","maxLength":160},{"type":"null"}]},"reminderText":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}]},"isPerfitEnabled":{"type":"boolean"}},"additionalProperties":false}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/wishlist/analytics":{"get":{"operationId":"get_wishlist_analytics","summary":"Most wished products and wishlist activity.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/wishlist/export":{"get":{"operationId":"get_wishlist_export","summary":"Email a CSV of wishlist contacts to the merchant. Queues a job.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/promotions/settings":{"get":{"operationId":"get_promotions_settings","summary":"Promotion widget settings (how promotions are shown on the storefront).","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"put":{"operationId":"put_promotions_settings","summary":"Update the promotion widget settings.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload, validated with this schema by the dashboard endpoint.","content":{"application/json":{"schema":{"type":"object","properties":{"badgeEnabled":{"default":true,"type":"boolean"},"layout":{"default":"inline-pill","type":"string","enum":["inline-pill","price-line","title-chip"]},"badgeText":{"anyOf":[{"type":"string","maxLength":60},{"type":"null"}]},"bgColor":{"default":"#111827","type":"string","pattern":"^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$"},"textColor":{"default":"#FFFFFF","type":"string","pattern":"^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$"},"blockEnabled":{"default":true,"type":"boolean"},"blockTitle":{"anyOf":[{"type":"string","maxLength":80},{"type":"null"}]},"blockButtonText":{"anyOf":[{"type":"string","maxLength":80},{"type":"null"}]},"blockPosition":{"default":"below_button","type":"string","enum":["below_button","above_button","near_price"]},"blockPreselected":{"default":true,"type":"boolean"},"blockButtonBgColor":{"default":"#111827","type":"string","pattern":"^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$"},"blockButtonTextColor":{"default":"#FFFFFF","type":"string","pattern":"^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$"},"blockSavingColor":{"default":"#0F5D40","type":"string","pattern":"^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$"},"ladderEnabled":{"default":true,"type":"boolean"},"ladderTitle":{"anyOf":[{"type":"string","maxLength":80},{"type":"null"}]},"ladderNote":{"anyOf":[{"type":"string","maxLength":140},{"type":"null"}]},"ladderPosition":{"default":"below_button","type":"string","enum":["below_button","above_button","near_price"]},"ladderBgColor":{"default":"#FFFFFF","type":"string","pattern":"^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$"},"ladderBorderColor":{"default":"#E5E7EB","type":"string","pattern":"^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$"},"ladderTextColor":{"default":"#111111","type":"string","pattern":"^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$"},"ladderSavingColor":{"default":"#0F5D40","type":"string","pattern":"^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$"}},"additionalProperties":false}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/promotions":{"get":{"operationId":"get_promotions","summary":"List quantity promotions (2x1, 3x2, buy N pay M).","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"operationId":"post_promotions","summary":"Create a quantity promotion. It is applied at checkout by the platform.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload, validated with this schema by the dashboard endpoint.","content":{"application/json":{"schema":{"type":"object","properties":{"buyQuantity":{"type":"integer","minimum":2,"maximum":20},"payQuantity":{"type":"integer","minimum":1,"maximum":20},"name":{"type":"string","minLength":1,"maxLength":100},"eligibleProductIds":{"default":[],"maxItems":200,"type":"array","items":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},"combinesWithOtherDiscounts":{"default":false,"type":"boolean"}},"required":["buyQuantity","payQuantity","name"],"additionalProperties":false}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/promotions/{id}":{"patch":{"operationId":"patch_promotions_by_id","summary":"Update a quantity promotion.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"JSON payload, validated with this schema by the dashboard endpoint.","content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100},"buyQuantity":{"type":"integer","minimum":2,"maximum":20},"payQuantity":{"type":"integer","minimum":1,"maximum":20},"eligibleProductIds":{"maxItems":200,"type":"array","items":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},"combinesWithOtherDiscounts":{"type":"boolean"}},"additionalProperties":false}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"delete":{"operationId":"delete_promotions_by_id","summary":"Delete a promotion and remove it from the platform.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/promotions/{id}/active":{"patch":{"operationId":"patch_promotions_by_id_active","summary":"Activate or pause a promotion.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/bundles":{"get":{"operationId":"get_bundles","summary":"List product bundles.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"operationId":"post_bundles","summary":"Create a bundle of products with a discount.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload, validated with this schema by the dashboard endpoint.","content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100},"type":{"type":"string","const":"cross_sell"},"config":{"type":"object","properties":{"triggerProductIds":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},"rewardProductIds":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},"triggerQuantity":{"type":"integer","minimum":1,"maximum":20},"rewardQuantity":{"type":"integer","minimum":1,"maximum":20},"discountPercent":{"type":"integer","minimum":1,"maximum":100},"maxApplications":{"default":null,"anyOf":[{"type":"integer","minimum":1,"maximum":1000},{"type":"null"}]}},"required":["triggerProductIds","rewardProductIds","triggerQuantity","rewardQuantity","discountPercent"],"additionalProperties":false},"combinesWithOtherDiscounts":{"default":false,"type":"boolean"}},"required":["name","type","config"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100},"type":{"type":"string","const":"quantity"},"config":{"type":"object","properties":{"productIds":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},"tiers":{"minItems":1,"maxItems":4,"type":"array","items":{"type":"object","properties":{"minQuantity":{"type":"integer","minimum":2,"maximum":20},"discountPercent":{"type":"integer","minimum":1,"maximum":100}},"required":["minQuantity","discountPercent"],"additionalProperties":false}}},"required":["productIds","tiers"],"additionalProperties":false},"combinesWithOtherDiscounts":{"default":false,"type":"boolean"}},"required":["name","type","config"],"additionalProperties":false}]}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/bundles/{id}":{"patch":{"operationId":"patch_bundles_by_id","summary":"Update a bundle.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"delete":{"operationId":"delete_bundles_by_id","summary":"Delete a bundle.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/bundles/{id}/active":{"patch":{"operationId":"patch_bundles_by_id_active","summary":"Activate or pause a bundle.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/cart-gifts":{"get":{"operationId":"get_cart_gifts","summary":"List gift-by-amount rules.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"operationId":"post_cart_gifts","summary":"Create a gift added to the cart above an amount.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload, validated with this schema by the dashboard endpoint.","content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100},"threshold":{"type":"integer","exclusiveMinimum":0,"maximum":10000000},"gift":{"type":"object","properties":{"productId":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"variantId":{"default":null,"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"variationValues":{"default":[],"maxItems":3,"type":"array","items":{"type":"string"}}},"required":["productId"]},"startsAt":{"default":null,"anyOf":[{},{"type":"null"}]},"endsAt":{"default":null,"anyOf":[{},{"type":"null"}]},"textInProgress":{"anyOf":[{"type":"string","maxLength":160},{"type":"null"}]},"textAchieved":{"anyOf":[{"type":"string","maxLength":160},{"type":"null"}]},"textUnavailable":{"anyOf":[{"type":"string","maxLength":160},{"type":"null"}]},"textAdded":{"anyOf":[{"type":"string","maxLength":160},{"type":"null"}]},"textCartLabel":{"anyOf":[{"type":"string","maxLength":160},{"type":"null"}]},"position":{"default":"bottom-center","type":"string","enum":["bottom-center","bottom-right"]},"bgColor":{"default":"#FFFFFF","type":"string","pattern":"^#[0-9a-fA-F]{6}$"},"textColor":{"default":"#111827","type":"string","pattern":"^#[0-9a-fA-F]{6}$"},"barColor":{"default":"#22C55E","type":"string","pattern":"^#[0-9a-fA-F]{6}$"},"launcherBgColor":{"default":"#22C55E","type":"string","pattern":"^#[0-9a-fA-F]{6}$"},"launcherIconColor":{"default":"#FFFFFF","type":"string","pattern":"^#[0-9a-fA-F]{6}$"},"launcherOpacity":{"default":100,"type":"integer","minimum":20,"maximum":100},"combinesWithOtherDiscounts":{"default":true,"type":"boolean"}},"required":["name","threshold","gift"]}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/cart-gifts/{id}":{"patch":{"operationId":"patch_cart_gifts_by_id","summary":"Update a cart gift rule.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"JSON payload, validated with this schema by the dashboard endpoint.","content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100},"threshold":{"type":"integer","exclusiveMinimum":0,"maximum":10000000},"gift":{"type":"object","properties":{"productId":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"variantId":{"default":null,"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"variationValues":{"default":[],"maxItems":3,"type":"array","items":{"type":"string"}}},"required":["productId"]},"startsAt":{"default":null,"anyOf":[{},{"type":"null"}]},"endsAt":{"default":null,"anyOf":[{},{"type":"null"}]},"textInProgress":{"anyOf":[{"type":"string","maxLength":160},{"type":"null"}]},"textAchieved":{"anyOf":[{"type":"string","maxLength":160},{"type":"null"}]},"textUnavailable":{"anyOf":[{"type":"string","maxLength":160},{"type":"null"}]},"textAdded":{"anyOf":[{"type":"string","maxLength":160},{"type":"null"}]},"textCartLabel":{"anyOf":[{"type":"string","maxLength":160},{"type":"null"}]},"position":{"default":"bottom-center","type":"string","enum":["bottom-center","bottom-right"]},"bgColor":{"default":"#FFFFFF","type":"string","pattern":"^#[0-9a-fA-F]{6}$"},"textColor":{"default":"#111827","type":"string","pattern":"^#[0-9a-fA-F]{6}$"},"barColor":{"default":"#22C55E","type":"string","pattern":"^#[0-9a-fA-F]{6}$"},"launcherBgColor":{"default":"#22C55E","type":"string","pattern":"^#[0-9a-fA-F]{6}$"},"launcherIconColor":{"default":"#FFFFFF","type":"string","pattern":"^#[0-9a-fA-F]{6}$"},"launcherOpacity":{"default":100,"type":"integer","minimum":20,"maximum":100},"combinesWithOtherDiscounts":{"default":true,"type":"boolean"}}}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"delete":{"operationId":"delete_cart_gifts_by_id","summary":"Delete a cart gift rule.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/cart-gifts/{id}/active":{"patch":{"operationId":"patch_cart_gifts_by_id_active","summary":"Activate or pause a cart gift rule.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/shop-the-look/settings":{"post":{"operationId":"post_shop_the_look_settings","summary":"Update the shop-the-look widget settings.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"get":{"operationId":"get_shop_the_look_settings","summary":"Shop-the-look widget settings.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/shop-the-look/home-sections":{"get":{"operationId":"get_shop_the_look_home_sections","summary":"Looks shown on the home page.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/shop-the-look/looks":{"get":{"operationId":"get_shop_the_look_looks","summary":"List looks (sets of products bought together).","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"operationId":"post_shop_the_look_looks","summary":"Create or update a look.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/shop-the-look/looks/health":{"get":{"operationId":"get_shop_the_look_looks_health","summary":"Looks with missing or unavailable products.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/shop-the-look/looks/{id}/revalidate":{"post":{"operationId":"post_shop_the_look_looks_by_id_revalidate","summary":"Re-check the products of a look against the platform.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/shop-the-look/looks/{id}":{"delete":{"operationId":"delete_shop_the_look_looks_by_id","summary":"Delete a look.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/conversions":{"get":{"operationId":"get_conversions","summary":"List orders attributed to one source type, one row per order with its products. Big: pass a short range or page + limit. For totals per day use /conversions/summary.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"sourceType","in":"query","required":true,"schema":{"type":"string","enum":["automation","stock-notification","newsletter","whatsapp-campaign"],"description":"Which Nubea feature the sale is attributed to: automation (WhatsApp automations), whatsapp-campaign, newsletter (popup subscribers), stock-notification (back-in-stock alerts)"}},{"name":"sourceId","in":"query","required":false,"schema":{"description":"Only this automation / campaign / popup / alert id","type":"string","pattern":"^\\d+$"}},{"name":"orderNumber","in":"query","required":false,"schema":{"type":"string","maxLength":50}},{"name":"startDate","in":"query","required":false,"schema":{"description":"Inclusive, store timezone","type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}(T[\\d:.]+(Z|[+-]\\d{2}:?\\d{2})?)?$"}},{"name":"endDate","in":"query","required":false,"schema":{"description":"Inclusive, store timezone","type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}(T[\\d:.]+(Z|[+-]\\d{2}:?\\d{2})?)?$"}},{"name":"page","in":"query","required":false,"schema":{"description":"1-based page; requires limit","type":"string","pattern":"^\\d+$"}},{"name":"limit","in":"query","required":false,"schema":{"description":"Rows per page, 1-500. Omit both to get the whole range","type":"string","pattern":"^\\d+$"}}],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/conversions/summary":{"get":{"operationId":"get_conversions_summary","summary":"Attributed sales added up per day, week or month and per source, for up to two years. The operation for \"which day sold most\" or \"how did September compare\".","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"startDate","in":"query","required":true,"schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}(T[\\d:.]+(Z|[+-]\\d{2}:?\\d{2})?)?$","description":"Inclusive, store timezone"}},{"name":"endDate","in":"query","required":true,"schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}(T[\\d:.]+(Z|[+-]\\d{2}:?\\d{2})?)?$","description":"Inclusive, store timezone; at most 731 days after startDate"}},{"name":"groupBy","in":"query","required":false,"schema":{"default":"day","description":"Bucket size; weeks start on Monday","type":"string","enum":["day","week","month"]}},{"name":"sourceType","in":"query","required":false,"schema":{"type":"string","enum":["automation","stock-notification","newsletter","whatsapp-campaign"],"description":"Which Nubea feature the sale is attributed to: automation (WhatsApp automations), whatsapp-campaign, newsletter (popup subscribers), stock-notification (back-in-stock alerts)"}}],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/conversions/recovered-total":{"get":{"operationId":"get_conversions_recovered_total","summary":"Everything attributed to Nubea since the store joined, one number per currency.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/conversions/export":{"get":{"operationId":"get_conversions_export","summary":"Email a CSV export of attributed sales to the merchant. Queues a job.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/perfit/sync-contacts":{"post":{"operationId":"post_perfit_sync_contacts","summary":"Push subscribers to the connected Perfit list.","description":"Required scopes: platform:write, integrations:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/fomo-alerts":{"get":{"operationId":"get_fomo_alerts","summary":"Social-proof alert settings for every alert type.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/fomo-alerts/variables":{"get":{"operationId":"get_fomo_alerts_variables","summary":"Variables available in social-proof alert texts.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/fomo-alerts/{alertType}":{"get":{"operationId":"get_fomo_alerts_by_alertType","summary":"Settings of one social-proof alert type.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"alertType","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/fomo-alerts/create":{"post":{"operationId":"post_fomo_alerts_create","summary":"Create a social-proof alert.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/fomo-alerts/update":{"put":{"operationId":"put_fomo_alerts_update","summary":"Update a social-proof alert.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/stock-counter/settings":{"get":{"operationId":"get_stock_counter_settings","summary":"Stock counter widget settings.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"operationId":"post_stock_counter_settings","summary":"Update the stock counter widget settings.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/size-guides":{"get":{"operationId":"get_size_guides","summary":"List size guides.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"operationId":"post_size_guides","summary":"Create a size guide.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"put":{"operationId":"put_size_guides","summary":"Update a size guide.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/size-guides/{id}":{"delete":{"operationId":"delete_size_guides_by_id","summary":"Delete a size guide.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/size-guides/upload-url":{"post":{"operationId":"post_size_guides_upload_url","summary":"Get an upload URL for a size guide image.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/product-stickers":{"get":{"operationId":"get_product_stickers","summary":"List product stickers (OFERTA, 3x2...).","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"operationId":"post_product_stickers","summary":"Create a product sticker.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"put":{"operationId":"put_product_stickers","summary":"Update a product sticker.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/product-stickers/{id}":{"delete":{"operationId":"delete_product_stickers_by_id","summary":"Delete a product sticker.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/product-stickers/upload-url":{"post":{"operationId":"post_product_stickers_upload_url","summary":"Get an upload URL for a custom sticker image.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/product-badges":{"get":{"operationId":"get_product_badges","summary":"List product badges and the featured price settings.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"operationId":"post_product_badges","summary":"Create a product badge.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"put":{"operationId":"put_product_badges","summary":"Update a product badge.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/product-badges/{id}":{"delete":{"operationId":"delete_product_badges_by_id","summary":"Delete a product badge.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/product-badges/settings":{"put":{"operationId":"put_product_badges_settings","summary":"Update badge settings, including the featured transfer price.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/installments":{"get":{"operationId":"get_installments","summary":"List installment rules shown on product pages.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"operationId":"post_installments","summary":"Create an installment rule.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"put":{"operationId":"put_installments","summary":"Update an installment rule.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/installments/{id}":{"delete":{"operationId":"delete_installments_by_id","summary":"Delete an installment rule.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/installments/settings":{"put":{"operationId":"put_installments_settings","summary":"Update the installments widget settings.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/product-content-blocks":{"get":{"operationId":"get_product_content_blocks","summary":"List product page content blocks (warranty, FAQ, comparison, rich text...).","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"operationId":"post_product_content_blocks","summary":"Create a content block. It starts paused.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"put":{"operationId":"put_product_content_blocks","summary":"Update a content block design.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"patch":{"operationId":"patch_product_content_blocks","summary":"Enable, disable or reprioritize a content block without resending its design.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/product-content-blocks/stats":{"get":{"operationId":"get_product_content_blocks_stats","summary":"Impressions and clicks per content block.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/product-content-blocks/upload-url":{"post":{"operationId":"post_product_content_blocks_upload_url","summary":"Get an upload URL for a content block image.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/product-content-blocks/reorder":{"patch":{"operationId":"patch_product_content_blocks_reorder","summary":"Reorder content blocks by id list.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/product-content-blocks/{id}":{"delete":{"operationId":"delete_product_content_blocks_by_id","summary":"Delete a content block.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/store-testimonials":{"get":{"operationId":"get_store_testimonials","summary":"List testimonials shown by the testimonials widget.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"operationId":"post_store_testimonials","summary":"Create a testimonial.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"put":{"operationId":"put_store_testimonials","summary":"Update a testimonial.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"patch":{"operationId":"patch_store_testimonials","summary":"Enable or disable a testimonial.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/store-testimonials/reorder":{"patch":{"operationId":"patch_store_testimonials_reorder","summary":"Reorder testimonials.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/store-testimonials/{id}":{"delete":{"operationId":"delete_store_testimonials_by_id","summary":"Delete a testimonial.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/store-testimonials/settings":{"put":{"operationId":"put_store_testimonials_settings","summary":"Update the testimonials widget settings.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/store-testimonials/upload-url":{"post":{"operationId":"post_store_testimonials_upload_url","summary":"Get an upload URL for a testimonial photo.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/product-video-slider":{"get":{"operationId":"get_product_video_slider","summary":"Product video sliders.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"put":{"operationId":"put_product_video_slider","summary":"Create or update the video slider of a product.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/product-video-slider/upload-url":{"post":{"operationId":"post_product_video_slider_upload_url","summary":"Get an upload URL for a slider video.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/product-video-slider/product/{productId}":{"delete":{"operationId":"delete_product_video_slider_product_by_productId","summary":"Remove the video slider of a product.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"productId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/product-video-slider/home":{"get":{"operationId":"get_product_video_slider_home","summary":"Home page video slider settings.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"put":{"operationId":"put_product_video_slider_home","summary":"Update the home page video slider.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/statistics/export":{"get":{"operationId":"get_statistics_export","summary":"Email a CSV export of the statistics to the merchant. Queues a job.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"startDate","in":"query","required":true,"schema":{"type":"string","description":"Inclusive. Required"}},{"name":"endDate","in":"query","required":true,"schema":{"type":"string","description":"Inclusive. Required; at most 365 days after startDate"}}],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/statistics":{"get":{"operationId":"get_statistics","summary":"Overview statistics for a period of up to 365 days: messages sent, conversions, revenue by feature.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"startDate","in":"query","required":true,"schema":{"type":"string","description":"Inclusive. Required"}},{"name":"endDate","in":"query","required":true,"schema":{"type":"string","description":"Inclusive. Required; at most 365 days after startDate"}}],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/statistics/products":{"get":{"operationId":"get_statistics_products","summary":"Per-product table of the statistics overview, paginated. Period of up to 365 days.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"startDate","in":"query","required":true,"schema":{"type":"string","description":"Inclusive. Required"}},{"name":"endDate","in":"query","required":true,"schema":{"type":"string","description":"Inclusive. Required; at most 365 days after startDate"}},{"name":"page","in":"query","required":false,"schema":{"description":"1-based page","type":"string","pattern":"^\\d+$"}},{"name":"limit","in":"query","required":false,"schema":{"description":"Rows per page, up to 100 (default 20)","type":"string","pattern":"^\\d+$"}},{"name":"groupVariants","in":"query","required":false,"schema":{"description":"Group variants under their product (default true)","type":"string","enum":["true","false"]}}],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/onboarding":{"get":{"operationId":"get_onboarding","summary":"Get the onboarding checklist state.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"operationId":"post_onboarding","summary":"Save onboarding answers.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/onboarding/activate-features":{"post":{"operationId":"post_onboarding_activate_features","summary":"Turn on the features chosen during onboarding.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/kapso/setup":{"post":{"operationId":"post_kapso_setup","summary":"Start connecting an official WhatsApp number. Returns a setup link to finish in the browser.","description":"Required scopes: platform:write, integrations:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/kapso/status":{"get":{"operationId":"get_kapso_status","summary":"Cached status of the official WhatsApp API connection.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/kapso/revalidate":{"post":{"operationId":"post_kapso_revalidate","summary":"Ask the provider for the real connection state and repair the cached one.","description":"Required scopes: platform:write, integrations:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/kapso/disconnect":{"post":{"operationId":"post_kapso_disconnect","summary":"Disconnect the official WhatsApp number. Templates are deleted and must be re-approved to reconnect.","description":"Required scopes: platform:write, integrations:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/kapso/confirm-redirect":{"post":{"operationId":"post_kapso_confirm_redirect","summary":"Confirm the official API setup after the merchant returns from the provider.","description":"Required scopes: platform:write, integrations:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/kapso/phone-health":{"get":{"operationId":"get_kapso_phone_health","summary":"Quality and messaging limits of the official WhatsApp number.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/whatsapp/templates":{"get":{"operationId":"get_whatsapp_templates","summary":"List WhatsApp message templates and their approval status.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"operationId":"post_whatsapp_templates","summary":"Create a WhatsApp template and submit it for approval (official API only).","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/whatsapp/templates/{id}":{"get":{"operationId":"get_whatsapp_templates_by_id","summary":"Get one WhatsApp template.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"patch":{"operationId":"patch_whatsapp_templates_by_id","summary":"Update a WhatsApp template; changes go back through approval.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"delete":{"operationId":"delete_whatsapp_templates_by_id","summary":"Delete a WhatsApp template.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/whatsapp/templates/header-media":{"post":{"operationId":"post_whatsapp_templates_header_media","summary":"Get an upload URL for a template header image or video.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/whatsapp/templates/sync":{"post":{"operationId":"post_whatsapp_templates_sync","summary":"Re-sync templates and their status from the provider.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/whatsapp/templates/{id}/test":{"post":{"operationId":"post_whatsapp_templates_by_id_test","summary":"Send a test message with a template to a phone number.","description":"Required scopes: platform:write, messages:send. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/dashboard":{"get":{"operationId":"get_dashboard","summary":"Home metrics: recovered revenue, sales by channel and new subscribers for a period.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"startDate","in":"query","required":false,"schema":{"description":"ISO 8601 date, inclusive. Defaults to today","type":"string"}},{"name":"endDate","in":"query","required":false,"schema":{"description":"ISO 8601 date, inclusive. Defaults to today","type":"string"}}],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/dashboard/overview":{"get":{"operationId":"get_dashboard_overview","summary":"Home overview for a period (24h, 7d, 30d, 90d) with the previous period for comparison: recovered revenue, messages sent, conversion rate, carts recovered, new subscribers and stock-alert requests as series, revenue by channel, pending items, latest attributed sales and recent reviews.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"period","in":"query","required":false,"schema":{"description":"Window ending now, compared against the window before it. Defaults to 7d","type":"string","enum":["24h","7d","30d","90d"]}}],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/product-reviews/settings":{"get":{"operationId":"get_product_reviews_settings","summary":"Product reviews settings: request timing, channel, widget design.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"operationId":"post_product_reviews_settings","summary":"Update the product reviews settings.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/product-reviews/metrics":{"get":{"operationId":"get_product_reviews_metrics","summary":"Review metrics: requested, received, average rating.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/product-reviews/list":{"get":{"operationId":"get_product_reviews_list","summary":"List product reviews with filters and pagination.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/product-reviews/export":{"get":{"operationId":"get_product_reviews_export","summary":"Email a CSV of reviews to the merchant. Queues a job.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/product-reviews/import":{"post":{"operationId":"post_product_reviews_import","summary":"Import reviews from a CSV.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/product-reviews/bulk-moderate":{"post":{"operationId":"post_product_reviews_bulk_moderate","summary":"Approve or reject several reviews at once.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/product-reviews/send-test-email":{"post":{"operationId":"post_product_reviews_send_test_email","summary":"Send a test review-request email.","description":"Required scopes: platform:write, messages:send. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/product-reviews/dispatches":{"get":{"operationId":"get_product_reviews_dispatches","summary":"Pending review requests scheduled to go out.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/product-reviews/dispatches/cancel":{"post":{"operationId":"post_product_reviews_dispatches_cancel","summary":"Cancel pending review requests.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/product-reviews/dispatches/send-now":{"post":{"operationId":"post_product_reviews_dispatches_send_now","summary":"Send pending review requests now.","description":"Required scopes: platform:write, messages:send. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/product-reviews/admin/upload-url":{"post":{"operationId":"post_product_reviews_admin_upload_url","summary":"Get an upload URL for review images.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/product-reviews/admin/logo-upload-url":{"post":{"operationId":"post_product_reviews_admin_logo_upload_url","summary":"Get an upload URL for the logo in review emails.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/product-reviews/{reviewId}":{"get":{"operationId":"get_product_reviews_by_reviewId","summary":"Get one product review.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"reviewId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"delete":{"operationId":"delete_product_reviews_by_reviewId","summary":"Delete a review.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"reviewId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/product-reviews/{reviewId}/moderate":{"patch":{"operationId":"patch_product_reviews_by_reviewId_moderate","summary":"Approve or reject a review.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"reviewId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/product-reviews/{reviewId}/show-images":{"patch":{"operationId":"patch_product_reviews_by_reviewId_show_images","summary":"Show or hide the images of a review.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"reviewId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/product-reviews/{reviewId}/verified":{"patch":{"operationId":"patch_product_reviews_by_reviewId_verified","summary":"Toggle the verified-purchase mark on a review.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"reviewId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/product-reviews/{reviewId}/featured":{"patch":{"operationId":"patch_product_reviews_by_reviewId_featured","summary":"Feature or unfeature a review.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"reviewId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/product-reviews/{reviewId}/reply":{"patch":{"operationId":"patch_product_reviews_by_reviewId_reply","summary":"Reply publicly to a review.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"reviewId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/campaigns/opt-outs":{"get":{"operationId":"get_campaigns_opt_outs","summary":"Phone numbers that opted out of campaigns.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"operationId":"post_campaigns_opt_outs","summary":"Add a phone number to the opt-out list.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/campaigns/opt-outs/export":{"get":{"operationId":"get_campaigns_opt_outs_export","summary":"Email a CSV of the opt-outs to the merchant. Queues a job.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/campaigns/opt-outs/{phone}":{"delete":{"operationId":"delete_campaigns_opt_outs_by_phone","summary":"Remove a phone number from the opt-out list.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"phone","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/campaigns/lists":{"get":{"operationId":"get_campaigns_lists","summary":"List contact lists with their sizes.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"operationId":"post_campaigns_lists","summary":"Create an empty contact list.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload, validated with this schema by the dashboard endpoint.","content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":255},"description":{"type":"string","maxLength":500}},"required":["name"]}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/campaigns/lists/{id}":{"get":{"operationId":"get_campaigns_lists_by_id","summary":"Get one contact list.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"put":{"operationId":"put_campaigns_lists_by_id","summary":"Rename a contact list.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"JSON payload, validated with this schema by the dashboard endpoint.","content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":255},"description":{"type":"string","maxLength":500}}}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"delete":{"operationId":"delete_campaigns_lists_by_id","summary":"Delete a contact list and its contacts.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/campaigns/lists/{id}/contacts/export":{"get":{"operationId":"get_campaigns_lists_by_id_contacts_export","summary":"Email a CSV of the list contacts to the merchant. Queues a job.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/campaigns/lists/import/tiendanube":{"post":{"operationId":"post_campaigns_lists_import_tiendanube","summary":"Create a list from ecommerce customers matching filters (orders, dates, amounts). Imports in the background.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload, validated with this schema by the dashboard endpoint.","content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":255},"filters":{"type":"object","properties":{"minTotalSpent":{"type":"number","minimum":0},"maxTotalSpent":{"type":"number","minimum":0},"province":{"type":"string","maxLength":100},"city":{"type":"string","maxLength":100},"activeOnly":{"type":"boolean"},"customerSince":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"customerBefore":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"minAge":{"type":"integer","minimum":0,"maximum":120},"maxAge":{"type":"integer","minimum":0,"maximum":120},"minOrders":{"type":"integer","minimum":0,"maximum":9007199254740991},"maxOrders":{"type":"integer","minimum":0,"maximum":9007199254740991},"lastPurchaseWithinDays":{"type":"integer","minimum":1,"maximum":9007199254740991},"lastPurchaseOlderThanDays":{"type":"integer","minimum":1,"maximum":9007199254740991}}}},"required":["name"]}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/campaigns/lists/import/csv":{"post":{"operationId":"post_campaigns_lists_import_csv","summary":"Create a list from CSV rows.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload, validated with this schema by the dashboard endpoint.","content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":255},"rows":{"minItems":1,"maxItems":10000,"type":"array","items":{"type":"object","properties":{"phone":{"type":"string","minLength":1},"name":{"type":"string"},"email":{"anyOf":[{"type":"string","format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},{"type":"string","const":""}]}},"required":["phone"]}}},"required":["name","rows"]}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/campaigns/lists/import/newsletter":{"post":{"operationId":"post_campaigns_lists_import_newsletter","summary":"Create a list from popup newsletter subscribers.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload, validated with this schema by the dashboard endpoint.","content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":255}},"required":["name"]}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/campaigns/lists/{id}/sync":{"post":{"operationId":"post_campaigns_lists_by_id_sync","summary":"Re-run the platform import that built the list, adding new matching customers.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/campaigns/lists/{id}/import/csv":{"post":{"operationId":"post_campaigns_lists_by_id_import_csv","summary":"Add CSV rows to an existing list.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"JSON payload, validated with this schema by the dashboard endpoint.","content":{"application/json":{"schema":{"type":"object","properties":{"rows":{"minItems":1,"maxItems":10000,"type":"array","items":{"type":"object","properties":{"phone":{"type":"string","minLength":1},"name":{"type":"string"},"email":{"anyOf":[{"type":"string","format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},{"type":"string","const":""}]}},"required":["phone"]}}},"required":["rows"]}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/campaigns/lists/{id}/contacts":{"get":{"operationId":"get_campaigns_lists_by_id_contacts","summary":"Contacts in a list, paginated.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"operationId":"post_campaigns_lists_by_id_contacts","summary":"Add one contact to a list.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"JSON payload, validated with this schema by the dashboard endpoint.","content":{"application/json":{"schema":{"type":"object","properties":{"phone":{"type":"string","minLength":8,"pattern":"^\\+?[0-9]{8,15}$"},"name":{"type":"string","maxLength":255},"email":{"anyOf":[{"type":"string","format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},{"type":"string","const":""}]}},"required":["phone"]}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/campaigns/lists/{id}/contacts/{contactId}":{"delete":{"operationId":"delete_campaigns_lists_by_id_contacts_by_contactId","summary":"Remove a contact from a list.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"contactId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/campaigns":{"get":{"operationId":"get_campaigns","summary":"List WhatsApp campaigns, filterable by status.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"default":1,"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},{"name":"limit","in":"query","required":false,"schema":{"default":20,"type":"integer","minimum":1,"maximum":100}},{"name":"status","in":"query","required":false,"schema":{"type":"string","enum":["draft","scheduled","sending","paused","completed","cancelled"]}}],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"operationId":"post_campaigns","summary":"Create a campaign draft for a contact list. Nothing is sent until send or schedule.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload, validated with this schema by the dashboard endpoint.","content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":255},"templateId":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"messageContent":{"type":"string","minLength":1,"maxLength":4096},"templateIdB":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"messageContentB":{"type":"string","minLength":1,"maxLength":4096},"variantSplit":{"type":"integer","minimum":1,"maximum":100},"rolloutPercentage":{"type":"integer","minimum":1,"maximum":100},"contactListId":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"paramMapping":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"}},"scheduledAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"sendWindowStartHour":{"type":"integer","minimum":0,"maximum":23},"sendWindowEndHour":{"type":"integer","minimum":1,"maximum":24}},"required":["name","contactListId"]}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/campaigns/{id}":{"get":{"operationId":"get_campaigns_by_id","summary":"Get one campaign with its content, audience and counters.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"put":{"operationId":"put_campaigns_by_id","summary":"Update a campaign draft.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"JSON payload, validated with this schema by the dashboard endpoint.","content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":255},"templateId":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"messageContent":{"type":"string","minLength":1,"maxLength":4096},"templateIdB":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"messageContentB":{"anyOf":[{"type":"string","minLength":1,"maxLength":4096},{"type":"null"}]},"variantSplit":{"type":"integer","minimum":1,"maximum":100},"rolloutPercentage":{"type":"integer","minimum":1,"maximum":100},"contactListId":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"paramMapping":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"}},"scheduledAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"sendWindowStartHour":{"type":"integer","minimum":0,"maximum":23},"sendWindowEndHour":{"type":"integer","minimum":1,"maximum":24}}}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"delete":{"operationId":"delete_campaigns_by_id","summary":"Delete a campaign that is not sending.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/campaigns/{id}/preview":{"get":{"operationId":"get_campaigns_by_id_preview","summary":"Render the campaign message with sample contact data.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/campaigns/{id}/send":{"post":{"operationId":"post_campaigns_by_id_send","summary":"Send the campaign now to its list. Irreversible once messages leave.","description":"Required scopes: platform:write, messages:send. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/campaigns/{id}/schedule":{"post":{"operationId":"post_campaigns_by_id_schedule","summary":"Schedule the campaign for a date and time.","description":"Required scopes: platform:write, messages:send. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"JSON payload, validated with this schema by the dashboard endpoint.","content":{"application/json":{"schema":{"type":"object","properties":{"scheduledAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"}},"required":["scheduledAt"]}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/campaigns/{id}/cancel":{"post":{"operationId":"post_campaigns_by_id_cancel","summary":"Cancel a scheduled, sending or paused campaign. It cannot be resumed afterwards.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/campaigns/{id}/pause":{"post":{"operationId":"post_campaigns_by_id_pause","summary":"Pause a campaign that is sending.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/campaigns/{id}/resume":{"post":{"operationId":"post_campaigns_by_id_resume","summary":"Resume a paused campaign.","description":"Required scopes: platform:write, messages:send. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/campaigns/{id}/duplicate":{"post":{"operationId":"post_campaigns_by_id_duplicate","summary":"Duplicate a campaign into a new draft.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/campaigns/{id}/messages":{"get":{"operationId":"get_campaigns_by_id_messages","summary":"Per-recipient messages of a campaign with delivery status.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/campaigns/{id}/messages/{messageId}/retry":{"post":{"operationId":"post_campaigns_by_id_messages_by_messageId_retry","summary":"Retry one failed campaign message.","description":"Required scopes: platform:write, messages:send. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"messageId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/inbox/status":{"get":{"operationId":"get_inbox_status","summary":"Whether the inbox is enabled and which provider feeds it.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/inbox/enable":{"post":{"operationId":"post_inbox_enable","summary":"Enable the WhatsApp inbox (official API connections only).","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/inbox/disable":{"post":{"operationId":"post_inbox_disable","summary":"Disable the WhatsApp inbox.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/inbox/conversations":{"get":{"operationId":"get_inbox_conversations","summary":"List conversations with filters (status, assignee, tag, search) and pagination.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"status","in":"query","required":false,"schema":{"type":"string","enum":["open","closed","archived"]}},{"name":"q","in":"query","required":false,"schema":{"type":"string","maxLength":100}},{"name":"unread","in":"query","required":false,"schema":{"type":"string","enum":["true","false"]}},{"name":"tagId","in":"query","required":false,"schema":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},{"name":"assignee","in":"query","required":false,"schema":{"type":"string","minLength":1}},{"name":"tier","in":"query","required":false,"schema":{"type":"string","enum":["vip","frecuente","recurrente","nuevo","en_riesgo","perdido","inactivo"]}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string","pattern":"^[01]_\\d+_\\d+$"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","exclusiveMinimum":0,"maximum":100}}],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/inbox/export":{"get":{"operationId":"get_inbox_export","summary":"Email a CSV of inbox conversations to the merchant. Queues a job.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/inbox/conversations/{id}/messages":{"get":{"operationId":"get_inbox_conversations_by_id_messages","summary":"Messages of a conversation, paginated.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string","pattern":"^\\d+_\\d+$"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","exclusiveMinimum":0,"maximum":100}}],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"operationId":"post_inbox_conversations_by_id_messages","summary":"Send a WhatsApp message in a conversation. Outside the 24h window a template is required.","description":"Required scopes: platform:write, messages:send. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"JSON payload, validated with this schema by the dashboard endpoint.","content":{"application/json":{"schema":{"type":"object","properties":{"body":{"type":"string","minLength":1,"maxLength":4096},"templateId":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"templateParams":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"}},"mediaUrl":{"type":"string","format":"uri"},"mediaType":{"type":"string","enum":["image","document"]},"fileName":{"type":"string","maxLength":255}}}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/inbox/media/upload-url":{"post":{"operationId":"post_inbox_media_upload_url","summary":"Get an upload URL to attach media to an inbox message.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload, validated with this schema by the dashboard endpoint.","content":{"application/json":{"schema":{"type":"object","properties":{"fileName":{"type":"string","minLength":1,"maxLength":255},"contentType":{"type":"string","minLength":1,"maxLength":120}},"required":["fileName","contentType"]}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/inbox/conversations/{id}/read":{"post":{"operationId":"post_inbox_conversations_by_id_read","summary":"Mark a conversation as read.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/inbox/conversations/{id}/unread":{"post":{"operationId":"post_inbox_conversations_by_id_unread","summary":"Mark a conversation as unread.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/inbox/conversations/{id}/pin":{"post":{"operationId":"post_inbox_conversations_by_id_pin","summary":"Pin or unpin a conversation.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"JSON payload, validated with this schema by the dashboard endpoint.","content":{"application/json":{"schema":{"type":"object","properties":{"pinned":{"type":"boolean"}},"required":["pinned"]}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/inbox/conversations/{id}/status":{"post":{"operationId":"post_inbox_conversations_by_id_status","summary":"Open or close a conversation.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"JSON payload, validated with this schema by the dashboard endpoint.","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","enum":["open","closed","archived"]}},"required":["status"]}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/inbox/conversations/{id}/name":{"post":{"operationId":"post_inbox_conversations_by_id_name","summary":"Set the display name of the contact.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"JSON payload, validated with this schema by the dashboard endpoint.","content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","maxLength":120}},"required":["name"]}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/inbox/members":{"get":{"operationId":"get_inbox_members","summary":"Team members a conversation can be assigned to.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/inbox/conversations/{id}/assign":{"post":{"operationId":"post_inbox_conversations_by_id_assign","summary":"Assign a conversation to a team member, or unassign it.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"JSON payload, validated with this schema by the dashboard endpoint.","content":{"application/json":{"schema":{"type":"object","properties":{"userId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]}},"required":["userId"]}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/inbox/tags":{"get":{"operationId":"get_inbox_tags","summary":"List inbox tags.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"operationId":"post_inbox_tags","summary":"Create an inbox tag.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload, validated with this schema by the dashboard endpoint.","content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":60},"color":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$"}},"required":["name"]}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/inbox/tags/{tagId}":{"patch":{"operationId":"patch_inbox_tags_by_tagId","summary":"Rename or recolor an inbox tag.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"tagId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"JSON payload, validated with this schema by the dashboard endpoint.","content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":60},"color":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$"}}}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"delete":{"operationId":"delete_inbox_tags_by_tagId","summary":"Delete an inbox tag from every conversation.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"tagId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/inbox/conversations/{id}/tags":{"post":{"operationId":"post_inbox_conversations_by_id_tags","summary":"Add a tag to a conversation.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"JSON payload, validated with this schema by the dashboard endpoint.","content":{"application/json":{"schema":{"type":"object","properties":{"tagId":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},"required":["tagId"]}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/inbox/conversations/{id}/tags/{tagId}":{"delete":{"operationId":"delete_inbox_conversations_by_id_tags_by_tagId","summary":"Remove a tag from a conversation.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"tagId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/inbox/conversations/{id}/notes":{"get":{"operationId":"get_inbox_conversations_by_id_notes","summary":"Internal notes on a conversation.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"operationId":"post_inbox_conversations_by_id_notes","summary":"Add an internal note to a conversation.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"JSON payload, validated with this schema by the dashboard endpoint.","content":{"application/json":{"schema":{"type":"object","properties":{"body":{"type":"string","minLength":1,"maxLength":2000}},"required":["body"]}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/inbox/notes/{noteId}":{"delete":{"operationId":"delete_inbox_notes_by_noteId","summary":"Delete an internal note.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"noteId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/inbox/conversations/{id}/orders":{"get":{"operationId":"get_inbox_conversations_by_id_orders","summary":"The contact's orders on the ecommerce platform.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/inbox/conversations/{id}/automations":{"get":{"operationId":"get_inbox_conversations_by_id_automations","summary":"Automation messages this contact received.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/inbox/conversations/{id}/reviews":{"get":{"operationId":"get_inbox_conversations_by_id_reviews","summary":"Product reviews this contact left.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/inbox/automations/available":{"get":{"operationId":"get_inbox_automations_available","summary":"Automations that can be triggered manually from a conversation.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/inbox/conversations/{id}/automations/trigger":{"post":{"operationId":"post_inbox_conversations_by_id_automations_trigger","summary":"Send an automation message to this contact now.","description":"Required scopes: platform:write, messages:send. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"JSON payload, validated with this schema by the dashboard endpoint.","content":{"application/json":{"schema":{"type":"object","properties":{"automationId":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},"required":["automationId"]}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/inbox/tier-settings":{"get":{"operationId":"get_inbox_tier_settings","summary":"Thresholds that classify contacts into tiers by purchase history.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"put":{"operationId":"put_inbox_tier_settings","summary":"Update the contact tier thresholds.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload, validated with this schema by the dashboard endpoint.","content":{"application/json":{"schema":{"type":"object","properties":{"enabled":{"type":"boolean"},"rules":{"type":"object","properties":{"vipMinOrders":{"type":"integer","minimum":0,"maximum":9007199254740991},"vipMinSpent":{"type":"integer","minimum":0,"maximum":9007199254740991},"frequentMinOrders":{"type":"integer","minimum":0,"maximum":9007199254740991},"activeDays":{"type":"integer","minimum":0,"maximum":9007199254740991},"newMaxDays":{"type":"integer","minimum":0,"maximum":9007199254740991},"lostMinDays":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["vipMinOrders","vipMinSpent","frequentMinOrders","activeDays","newMaxDays","lostMinDays"]}},"required":["enabled","rules"]}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/inbox/segments/recalculate":{"post":{"operationId":"post_inbox_segments_recalculate","summary":"Recompute every contact tier from current orders.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/inbox/conversations/{id}/tier":{"post":{"operationId":"post_inbox_conversations_by_id_tier","summary":"Set a contact tier by hand.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"JSON payload, validated with this schema by the dashboard endpoint.","content":{"application/json":{"schema":{"type":"object","properties":{"tier":{"anyOf":[{"type":"string","enum":["vip","frecuente","recurrente","nuevo","en_riesgo","perdido","inactivo"]},{"type":"null"}]}},"required":["tier"]}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/inbox/reconcile":{"post":{"operationId":"post_inbox_reconcile","summary":"Re-sync conversations and messages from the WhatsApp provider.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/inbox/quick-replies":{"get":{"operationId":"get_inbox_quick_replies","summary":"List saved quick replies.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"operationId":"post_inbox_quick_replies","summary":"Create a quick reply.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload, validated with this schema by the dashboard endpoint.","content":{"application/json":{"schema":{"type":"object","properties":{"title":{"type":"string","minLength":1,"maxLength":80},"body":{"type":"string","minLength":1,"maxLength":4096},"shortcut":{"type":"string","maxLength":40}},"required":["title","body"]}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/inbox/quick-replies/{id}":{"delete":{"operationId":"delete_inbox_quick_replies_by_id","summary":"Delete a quick reply.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/product-exchanges/settings":{"get":{"operationId":"get_product_exchanges_settings","summary":"Exchanges and returns settings: window, conditions, texts.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"operationId":"post_product_exchanges_settings","summary":"Update the exchanges and returns settings.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload, validated with this schema by the dashboard endpoint.","content":{"application/json":{"schema":{"type":"object","properties":{"isEnabled":{"type":"boolean"},"exchangeWindowDays":{"type":"integer","minimum":1,"maximum":365},"approvalEmailTemplate":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"}},"rejectionEmailTemplate":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"}},"pickupInstructions":{"type":"string","maxLength":2000},"shippingInstructions":{"type":"string","maxLength":2000},"allowPickup":{"type":"boolean"},"allowShipping":{"type":"boolean"},"brandLogoUrl":{"anyOf":[{"type":"string","maxLength":500,"format":"uri"},{"type":"string","const":""}]},"primaryColor":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$"},"formTitle":{"type":"string","maxLength":200},"formDescription":{"type":"string","maxLength":500}}}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/product-exchanges/metrics":{"get":{"operationId":"get_product_exchanges_metrics","summary":"Exchange request metrics.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/product-exchanges/requests":{"get":{"operationId":"get_product_exchanges_requests","summary":"List exchange requests with status.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/product-exchanges/requests/{id}":{"get":{"operationId":"get_product_exchanges_requests_by_id","summary":"Get one exchange request.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"delete":{"operationId":"delete_product_exchanges_requests_by_id","summary":"Delete an exchange request.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/product-exchanges/requests/{id}/approve":{"post":{"operationId":"post_product_exchanges_requests_by_id_approve","summary":"Approve an exchange request. Notifies the customer.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/product-exchanges/requests/{id}/address":{"patch":{"operationId":"patch_product_exchanges_requests_by_id_address","summary":"Update the return address of an exchange.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"JSON payload, validated with this schema by the dashboard endpoint.","content":{"application/json":{"schema":{"type":"object","properties":{"shippingAddress":{"type":"object","properties":{"address":{"type":"string","minLength":1},"number":{"type":"string","minLength":1},"floor":{"default":"","type":"string"},"locality":{"default":"","type":"string"},"city":{"type":"string","minLength":1},"province":{"type":"string","minLength":1},"zipcode":{"type":"string","minLength":1},"country":{"default":"AR","type":"string","minLength":1},"phone":{"default":"","type":"string"},"name":{"type":"string","minLength":1}},"required":["address","number","city","province","zipcode","name"]}},"required":["shippingAddress"]}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/product-exchanges/requests/{id}/confirm":{"post":{"operationId":"post_product_exchanges_requests_by_id_confirm","summary":"Confirm the exchange was completed.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/product-exchanges/requests/{id}/reject":{"post":{"operationId":"post_product_exchanges_requests_by_id_reject","summary":"Reject an exchange request with a reason. Notifies the customer.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"JSON payload, validated with this schema by the dashboard endpoint.","content":{"application/json":{"schema":{"type":"object","properties":{"reason":{"type":"string","minLength":1}},"required":["reason"]}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/product-exchanges/export":{"get":{"operationId":"get_product_exchanges_export","summary":"Email a CSV of exchange requests to the merchant. Queues a job.","description":"Required scopes: platform:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/chat-agent/connect-code":{"post":{"operationId":"post_chat_agent_connect_code","summary":"Issue a one-time code to pair a WhatsApp number with the store assistant.","description":"Required scopes: platform:write, integrations:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"requestBody":{"description":"JSON payload accepted by the dashboard endpoint. Its fields are not published; read the current object first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/chat-agent/bindings":{"get":{"operationId":"get_chat_agent_bindings","summary":"List phone numbers paired with the store assistant.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/chat-agent/bindings/{phone}":{"delete":{"operationId":"delete_chat_agent_bindings_by_phone","summary":"Unpair a phone number from the store assistant.","description":"Required scopes: platform:write, integrations:write. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[{"name":"phone","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/chat-agent/usage":{"get":{"operationId":"get_chat_agent_usage","summary":"Usage of the store assistant for the current period.","description":"Required scopes: platform:read. Request and response formats match the existing dashboard endpoint. Upstream credentials are removed from responses.","security":[{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Existing dashboard response, with upstream credentials removed."},"201":{"description":"Created."},"202":{"description":"Accepted for asynchronous processing."},"204":{"description":"Completed without a response body."},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}},"components":{"securitySchemes":{"apiKey":{"type":"http","scheme":"bearer","bearerFormat":"Nubea API key"}},"schemas":{"Error":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}}}}}}}