{"swagger": "2.0", "basePath": "/", "paths": {"/analytics/card": {"post": {"responses": {"200": {"description": "Success", "schema": {"$ref": "#/definitions/analytics_card"}}}, "summary": "get analytics card data for input params", "operationId": "get analytics card data for input params", "parameters": [{"name": "params", "in": "query", "type": "string", "required": true}], "security": [{"Bearer": []}], "tags": ["analytics"]}}, "/analytics/embed": {"post": {"responses": {"200": {"description": "Success", "schema": {"$ref": "#/definitions/analytics_embed"}}}, "summary": "generate analytics embedding url", "operationId": "generate analytics embedding url", "parameters": [{"name": "resource", "in": "query", "type": "string", "required": true}, {"name": "params", "in": "query", "type": "string", "required": true}], "security": [{"Bearer": []}], "tags": ["analytics"]}}, "/analytics/embed/ppc-audit": {"post": {"responses": {"200": {"description": "Success", "schema": {"$ref": "#/definitions/analytics_embed"}}}, "summary": "generate analytics embedding url for PPC audit", "operationId": "generate analytics embedding url for PPC audit", "parameters": [{"name": "resource", "in": "query", "type": "string", "required": true}, {"name": "params", "in": "query", "type": "string", "required": true}], "tags": ["analytics"]}}, "/analytics/field/values": {"post": {"responses": {"200": {"description": "Success", "schema": {"$ref": "#/definitions/analytics_field_values"}}}, "summary": "get analytics field(s) option values", "operationId": "get analytics field(s) option values", "parameters": [{"name": "seller_selling_partner_id", "in": "query", "type": "string", "required": true}, {"name": "marketplace_marketplace_id", "in": "query", "type": "string", "required": true}, {"name": "field_ids", "in": "query", "type": "array", "required": true, "items": {"type": "string"}, "collectionFormat": "multi"}], "security": [{"Bearer": []}], "tags": ["analytics"]}}, "/auth/agent/url": {"get": {"responses": {"200": {"description": "Success"}}, "summary": "get agent iframe url", "operationId": "get agent iframe url", "tags": ["auth"]}}, "/auth/amazon-ads/cb": {"get": {"responses": {"200": {"description": "Success"}}, "summary": "callback for generating Amazon Ads advertiser authorization", "operationId": "callback for generating Amazon Ads advertiser authorization", "security": [{"Bearer": []}], "tags": ["auth"]}}, "/auth/amazon-ads/ppc-audit": {"get": {"responses": {"200": {"description": "Success"}}, "summary": "callback for generating Amazon Ads advertiser authorization", "operationId": "callback for generating Amazon Ads advertiser authorization", "tags": ["auth"]}}, "/auth/amazon-ads/token": {"get": {"responses": {"200": {"description": "Success"}}, "summary": "Return a short-lived Amazon Ads access token", "description": "Three callers, two auth paths (autron-agent#441, #626):\n\n- `seller_public_id` + a `ppc_audit_service`-scoped JWT (agent\n  server-minted, never carried by a user session): restricted to\n  PPC-audit sellers \u2014 the lead-audit pipeline, where no user exists.\n- `seller_public_id` + a user bearer: that seller, authorised by\n  `user_may_manage_seller`. The agent's CLAIMED audits use this \u2014 a\n  report knows its seller, and inferring one from the user instead\n  gave nothing at all for an invited teammate (who never has a\n  primary) or the wrong Amazon account for anyone whose primary is a\n  different seller in the same company.\n- User bearer alone: the user's primary seller, exactly as before.\n\nScope is decided first, so a service token keeps the lead-audit path\nand its `event == \"PPC Audit\"` restriction \u2014 the user path is not a\nway around it.", "operationId": "fetch a short-lived Amazon Ads access token", "security": [{"Bearer": []}], "tags": ["auth"]}}, "/auth/amazon-sp-api/cb": {"get": {"responses": {"200": {"description": "Success"}}, "summary": "callback for generating Amazon Selling Partner authorization", "operationId": "callback for generating Amazon Selling Partner authorization", "security": [{"Bearer": []}], "tags": ["auth"]}}, "/auth/change-password": {"post": {"responses": {"200": {"description": "Success"}}, "summary": "change the authenticated user's password", "operationId": "change the authenticated user's password", "parameters": [{"name": "current_password", "in": "query", "type": "string"}, {"name": "new_password", "in": "query", "type": "string", "required": true}], "security": [{"Bearer": []}], "tags": ["auth"]}}, "/auth/forgot-password": {"post": {"responses": {"200": {"description": "Success"}}, "summary": "send email with password reset link to user", "operationId": "send email with password reset link to user", "parameters": [{"name": "email", "in": "query", "type": "string", "required": true}, {"name": "source", "in": "query", "type": "string"}], "tags": ["auth"]}}, "/auth/login": {"post": {"responses": {"200": {"description": "Success"}}, "summary": "login a user", "operationId": "user login", "parameters": [{"name": "email", "in": "query", "type": "string", "required": true}, {"name": "password", "in": "query", "type": "string", "required": true}], "tags": ["auth"]}}, "/auth/logout": {"post": {"responses": {"200": {"description": "Success"}}, "summary": "logout a user", "operationId": "logout a user", "security": [{"Bearer": []}], "tags": ["auth"]}}, "/auth/oauth": {"post": {"responses": {"200": {"description": "Success"}}, "summary": "federated (social) sign-in exchange", "operationId": "federated (social) sign-in \u2014 exchange a verified IdP identity for session tokens (agent#352). Server-to-server only: requires a 'federated'-scoped bearer minted by the autron-agent server.", "parameters": [{"name": "provider", "in": "query", "type": "string", "required": true}, {"name": "provider_sub", "in": "query", "type": "string", "required": true}, {"name": "email", "in": "query", "type": "string", "required": true}, {"name": "email_verified", "in": "query", "type": "boolean", "required": true}, {"name": "first_name", "in": "query", "type": "string"}, {"name": "last_name", "in": "query", "type": "string"}, {"name": "avatar_url", "in": "query", "type": "string"}, {"name": "create_company", "in": "query", "type": "boolean"}, {"name": "signup_source", "in": "query", "type": "string"}, {"name": "attribution", "in": "query", "type": "string"}], "security": [{"Bearer": []}], "tags": ["auth"]}}, "/auth/reset-password": {"post": {"responses": {"200": {"description": "Success"}}, "summary": "update a user's password", "description": "Bearer must be the `password_reset`-scoped token from the emailed\nreset link \u2014 a plain session token can't silently rotate the\npassword, and the emailed token works nowhere else.", "operationId": "update a user's password", "parameters": [{"name": "password", "in": "query", "type": "string", "required": true}], "security": [{"Bearer": []}], "tags": ["auth"]}}, "/auth/token/refresh": {"post": {"responses": {"200": {"description": "Success"}}, "summary": "refresh a user's auth token", "operationId": "refresh a user's auth token", "security": [{"Bearer": []}], "tags": ["auth"]}}, "/auth/user": {"get": {"responses": {"200": {"description": "Success", "schema": {"$ref": "#/definitions/user"}}}, "summary": "get a user given their auth token", "operationId": "get a user from auth token", "security": [{"Bearer": []}], "tags": ["auth"]}}, "/auth/verification-email": {"post": {"responses": {"200": {"description": "Success"}}, "summary": "send email with link to verify user", "operationId": "send email with link to verify user", "parameters": [{"name": "email", "in": "query", "type": "string", "required": true}], "tags": ["auth"]}}, "/auth/verify-email": {"post": {"responses": {"200": {"description": "Success"}}, "summary": "verify user from link emailed upon registration", "operationId": "verify user from link emailed upon registration", "security": [{"Bearer": []}], "tags": ["auth"]}}, "/brands": {"get": {"responses": {"200": {"description": "Success", "schema": {"$ref": "#/definitions/paginated_brands"}}}, "summary": "Get brands for seller-marketplace combo with optional query params", "operationId": "Get brands for seller/marketplace combo with optional query params", "parameters": [{"name": "page", "in": "query", "type": "integer", "default": 1}, {"name": "per_page", "in": "query", "type": "integer", "default": 1000}, {"name": "filter[seller_selling_partner_id][eq]", "in": "query", "type": "string", "required": true}, {"name": "filter[marketplace_marketplace_id][eq]", "in": "query", "type": "string", "required": true}, {"name": "filter[profile_profile_id][eq]", "in": "query", "type": "integer"}], "security": [{"Bearer": []}], "tags": ["brands"]}}, "/brands/": {"post": {"responses": {"200": {"description": "Success"}}, "summary": "Creates new or updates existing brands(s)", "operationId": "creates new or updates existing brands(s)", "parameters": [{"name": "brand_id", "in": "query", "type": "string"}, {"name": "brand_entity_id", "in": "query", "type": "string", "required": true}, {"name": "brand_registry_name", "in": "query", "type": "string"}, {"name": "logo_url", "in": "query", "type": "string"}, {"name": "seller_selling_partner_id", "in": "query", "type": "string", "required": true}, {"name": "marketplace_marketplace_id", "in": "query", "type": "string", "required": true}, {"name": "profile_profile_id", "in": "query", "type": "string"}, {"name": "store_assets", "in": "query", "type": "array", "items": {"type": "string"}, "collectionFormat": "multi"}], "security": [{"Bearer": []}], "tags": ["brands"]}}, "/brands/logo-upload": {"post": {"responses": {"200": {"description": "Success"}}, "summary": "upload a new brand logo", "operationId": "upload a new brand logo", "security": [{"Bearer": []}], "tags": ["brands"]}}, "/brands/media": {"post": {"responses": {"200": {"description": "Success"}}, "summary": "Update brand media resource", "operationId": "Update brand media resource", "security": [{"Bearer": []}], "tags": ["brands"]}}, "/brands/media-location": {"post": {"responses": {"200": {"description": "Success"}}, "summary": "Get Ad media upload location from Amazon", "operationId": "Get Ad media upload location from Amazon", "security": [{"Bearer": []}], "tags": ["brands"]}}, "/brands/media-upload-complete": {"post": {"responses": {"200": {"description": "Success"}}, "summary": "Validate media and obtain amazon status", "operationId": "Validate media and obtain amazon status", "security": [{"Bearer": []}], "tags": ["brands"]}}, "/credits/adjust": {"post": {"responses": {"200": {"description": "Success"}}, "summary": "Manual wallet adjustment (admin only, \u00b1 allowed, not idempotent)", "operationId": "Admin: apply a manual wallet-credit adjustment (concierge top-ups, refunds). Moves credits only \u2014 money moves in the Stripe Dashboard.", "parameters": [{"name": "payload", "required": true, "in": "body", "schema": {"type": "object", "properties": {"company_public_id": {"type": "string"}, "credits_delta": {"type": "string"}, "note": {"type": "string"}}}}], "security": [{"Bearer": []}], "tags": ["credits"]}}, "/credits/auto-refill": {"post": {"responses": {"200": {"description": "Success"}}, "summary": "Set the company's auto-refill wallet pack (or clear it)", "operationId": "Arm or disarm off-session auto top-up: the given wallet pack is purchased automatically whenever a debit leaves plan + wallet <= 0 (agent#553). pack_key null/omitted disarms.", "parameters": [{"name": "payload", "required": true, "in": "body", "schema": {"type": "object", "properties": {"pack_key": {"type": "string"}}}}], "security": [{"Bearer": []}], "tags": ["credits"]}}, "/credits/balance": {"get": {"responses": {"200": {"description": "Success"}}, "summary": "Return current credit balance for the caller's company", "description": "Response shape:\n    {\n      \"status\": \"success\",\n      \"balance\": {\n        \"company_public_id\": \"...\",\n        \"included\": 1000,\n        \"balance\": \"734.5000\",\n        \"period_start\": \"2026-05-14T00:00:00+00:00\",\n        \"period_end\":   \"2026-06-14T00:00:00+00:00\",\n        \"updated_at\":   \"2026-05-14T18:24:00+00:00\"\n      }\n    }\n\nWhen the caller's company has no credit_balance row yet (no\nactive credits-tier subscription), ``balance`` is ``null`` and\nthe agent app interprets that as \"free tier\".", "operationId": "Get the authenticated user's company credit balance", "security": [{"Bearer": []}], "tags": ["credits"]}}, "/credits/consume": {"post": {"responses": {"200": {"description": "Success"}}, "summary": "Atomic credit debit + ledger append", "description": "Called by the agent app's chat route in a fire-and-forget\n``after()`` tail task once a chat turn's stream completes.\n\nIdempotency: replays of the same ``chat_request_id`` return\n``{ status: \"duplicate\", credit_cost, balance_after }`` without\ndebiting again \u2014 the unique partial index on\n``credit_transaction.chat_request_id`` is the source of truth.\n\nFree-tier callers (no credit_balance row) get\n``{ status: \"no_balance\", ... }`` instead of an error \u2014 the\nagent's free-tier message-count gate handles those users via a\ndifferent path.", "operationId": "Debit credits for a single chat turn (autron-agent \u2192 after() tail task)", "parameters": [{"name": "payload", "required": true, "in": "body", "schema": {"type": "object", "properties": {"chat_request_id": {"type": "string"}, "model": {"type": "string"}, "user_public_id": {"type": "string"}, "input_tokens": {"type": "integer"}, "output_tokens": {"type": "integer"}, "cached_input_tokens": {"type": "integer"}, "cached_output_tokens": {"type": "integer"}, "long_context_input_tokens": {"type": "integer"}, "long_context_output_tokens": {"type": "integer"}, "long_context_cached_input_tokens": {"type": "integer"}, "audio_seconds": {"type": "number"}, "source": {"type": "string"}, "internal": {"type": "boolean"}, "on_behalf_of_company_public_id": {"type": "string"}, "on_behalf_of_seller_public_id": {"type": "string"}}}}], "security": [{"Bearer": []}], "tags": ["credits"]}}, "/credits/topup": {"post": {"responses": {"200": {"description": "Success"}}, "summary": "One-click wallet top-up purchase", "description": "The agent app sends a wallet pack key (server-authoritative\npricing \u2014 see ``pricing_catalog.WALLET_PACKS_SEMANTIC``) and a\nclient-generated ``request_id`` (uuid per click). Retries with\nthe same ``request_id`` can never double-charge (Stripe\nidempotency key) or double-grant (unique partial index on the\nPaymentIntent id).\n\nStatus \u2192 HTTP: ``payment_required`` \u2192 402 (agent app routes to\nthe Billing Portal, same as pack changes), ``not_subscriber`` \u2192\n403, ``fail`` \u2192 400, ``success`` \u2192 200.", "operationId": "Buy a one-time wallet credit pack (charged off-session to the card on file). Subscriber-only.", "parameters": [{"name": "payload", "required": true, "in": "body", "schema": {"type": "object", "properties": {"pack_key": {"type": "string"}, "request_id": {"type": "string"}}}}], "security": [{"Bearer": []}], "tags": ["credits"]}}, "/customers/": {"get": {"responses": {"200": {"description": "Success", "schema": {"properties": {"data": {"type": "array", "items": {"$ref": "#/definitions/customer"}}}}}}, "summary": "List all registered customers", "operationId": "list_of_registered_customers", "security": [{"Bearer": []}], "tags": ["customers"]}, "post": {"responses": {"200": {"description": "Success"}}, "summary": "Creates new or updates existing customer(s)", "operationId": "create new or update existing customer(s)", "parameters": [{"name": "payload", "required": true, "in": "body", "schema": {"type": "array", "items": {"$ref": "#/definitions/customer"}}}], "security": [{"Bearer": []}], "tags": ["customers"]}}, "/customers/find-by-first-and-last-name": {"parameters": [{"description": "customer first name (case insensitive)", "name": "first_name", "type": "string", "in": "query"}, {"description": "customer last name (case insensitive)", "name": "last_name", "type": "string", "in": "query"}], "get": {"responses": {"200": {"description": "Success", "schema": {"$ref": "#/definitions/customer"}}}, "summary": "get a customer given first and last name", "operationId": "get customer with matching first and last name", "security": [{"Bearer": []}], "tags": ["customers"]}}, "/customers/find-by-manychat-subscriber-id": {"parameters": [{"in": "query", "description": "The customer manychat subscriber identifier", "name": "id", "type": "string"}], "get": {"responses": {"200": {"description": "Success", "schema": {"$ref": "#/definitions/customer"}}}, "summary": "get a customer given manychat subscriber identifier", "operationId": "get a customer using manychat subscriber id", "security": [{"Bearer": []}], "tags": ["customers"]}}, "/customers/update-segment": {"post": {"responses": {"200": {"description": "Success"}}, "summary": "update segment for all customers", "operationId": "update segment for all customers", "security": [{"Bearer": []}], "tags": ["customers"]}}, "/customers/{public_id}": {"parameters": [{"in": "path", "description": "The Customer identifier", "name": "public_id", "required": true, "type": "string"}], "get": {"responses": {"200": {"description": "Success", "schema": {"$ref": "#/definitions/customer"}}}, "summary": "get a customer given its identifier", "operationId": "get a customer", "security": [{"Bearer": []}], "tags": ["customers"]}}, "/customers/{public_id}/last-order-items": {"parameters": [{"in": "path", "description": "The Customer identifier", "name": "public_id", "required": true, "type": "string"}], "get": {"responses": {"200": {"description": "Success", "schema": {"properties": {"data": {"type": "array", "items": {"$ref": "#/definitions/item"}}}}}}, "summary": "get all items from customer's last order given its identifier", "operationId": "get items for a customers last order", "security": [{"Bearer": []}], "tags": ["customers"]}}, "/customers/{public_id}/orders": {"parameters": [{"in": "path", "description": "The Customer identifier", "name": "public_id", "required": true, "type": "string"}], "get": {"responses": {"200": {"description": "Success", "schema": {"properties": {"data": {"type": "array", "items": {"$ref": "#/definitions/order"}}}}}}, "summary": "get all orders for a customer given its identifier", "operationId": "get all orders for a customer", "security": [{"Bearer": []}], "tags": ["customers"]}}, "/goals": {"get": {"responses": {"200": {"description": "Success", "schema": {"$ref": "#/definitions/paginated_goals_ext"}}}, "summary": "Get goals for seller-marketplace combo with optional query params", "operationId": "Get goals for seller/marketplace combo with optional query params", "parameters": [{"name": "page", "in": "query", "type": "integer", "default": 1}, {"name": "per_page", "in": "query", "type": "integer", "default": 1000}, {"name": "filter[seller_selling_partner_id][eq]", "in": "query", "type": "string", "required": true}, {"name": "filter[marketplace_marketplace_id][eq]", "in": "query", "type": "string", "required": true}, {"name": "filter[profile_profile_id][eq]", "in": "query", "type": "integer"}, {"name": "filter[type][eq]", "in": "query", "type": "string"}, {"name": "filter[state][eq]", "in": "query", "type": "string"}, {"name": "filter[product_asin][eq]", "in": "query", "type": "string"}], "security": [{"Bearer": []}], "tags": ["goals"]}}, "/goals/": {"post": {"responses": {"200": {"description": "Success"}}, "summary": "Creates a new goal", "description": "A global goal may carry ``product_asins`` (list): the exact set of\nproducts to enable in the fan-out, validated against the seller's\ncatalog. An empty list starts the account with nothing enabled.\nWithout it the recommended set is used.", "operationId": "create a new goal", "parameters": [{"name": "payload", "required": true, "in": "body", "schema": {"$ref": "#/definitions/goal"}}], "security": [{"Bearer": []}], "tags": ["goals"]}, "put": {"responses": {"200": {"description": "Success"}}, "summary": "Bulk update for list of goals", "operationId": "Bulk update for a list of goals", "parameters": [{"name": "payload", "required": true, "in": "body", "schema": {"$ref": "#/definitions/goal"}}], "security": [{"Bearer": []}], "tags": ["goals"]}}, "/goals/bulk": {"post": {"responses": {"200": {"description": "Success"}}, "summary": "Create product goals for a set of ASINs in one request (autron-agent#683)", "description": "Body: the scope (seller, marketplace, profile), ``product_asins``\n(1\u2013500) and an optional target (objective / strategy / strategy_value\n/ turbo_mode / state); without a target the rows inherit the\naccount-wide goal's. Per ASIN: a goal is created only where none\nexists; one with a live goal is left untouched and returned under\n``existing`` with its public_id and state (``PUT /goals/`` switches\nthose on); an ASIN outside the catalog is returned under\n``not_found``. One campaign-create job per request (none for rows\ncreated off) and one ``Goal Created`` event, whatever the count.", "operationId": "create product goals for a set of ASINs", "parameters": [{"name": "payload", "required": true, "in": "body", "schema": {"$ref": "#/definitions/bulk_create_goals"}}], "security": [{"Bearer": []}], "tags": ["goals"]}}, "/goals/default": {"post": {"responses": {"200": {"description": "Success"}}, "summary": "Create default product and brand goals", "operationId": "create default product and brand goals", "parameters": [{"name": "seller_selling_partner_id", "in": "query", "type": "string", "required": true}, {"name": "marketplace_marketplace_id", "in": "query", "type": "string", "required": true}, {"name": "profile_profile_id", "in": "query", "type": "integer", "required": true}, {"name": "product_asins", "in": "query", "type": "array", "required": true, "items": {"type": "string"}, "collectionFormat": "multi"}], "security": [{"Bearer": []}], "tags": ["goals"]}}, "/goals/{public_id}": {"parameters": [{"in": "path", "description": "The goal public id", "name": "public_id", "required": true, "type": "string"}], "put": {"responses": {"200": {"description": "Success"}}, "summary": "Update a goal given its public identifier", "description": "A global goal may carry ``product_asins`` (list): the reviewed set of\nproducts to run \u2014 chosen ones come on (created from the catalog where\nno product goal exists yet), every other product goal goes off, brand\ngoals mirror. An empty list turns every product off with the global\nstaying as sent. Without it the legacy cascade applies.", "operationId": "update a goal", "parameters": [{"name": "payload", "required": true, "in": "body", "schema": {"$ref": "#/definitions/goal"}}], "security": [{"Bearer": []}], "tags": ["goals"]}}, "/gpsr-document/": {"post": {"responses": {"200": {"description": "Success"}}, "summary": "Creates new GPSR document", "operationId": "Creates new GPSR document", "security": [{"Bearer": []}], "tags": ["gpsr-document"]}}, "/gpsr-document/seller/{public_id}": {"parameters": [{"in": "path", "description": "Seller public identifier", "name": "public_id", "required": true, "type": "string"}], "get": {"responses": {"200": {"description": "Success", "schema": {"$ref": "#/definitions/paginated_gpsr"}}}, "summary": "List a Seller's GPSR documents", "operationId": "List a Seller's GPSR documents", "parameters": [{"name": "page", "in": "query", "type": "integer", "default": 1}, {"name": "per_page", "in": "query", "type": "integer", "default": 1}, {"name": "type", "in": "query", "type": "string"}, {"name": "marketplace", "in": "query", "type": "string"}, {"name": "gfilter[url][ilike]", "in": "query", "type": "string"}, {"name": "sort[created_at]", "in": "query", "type": "string"}, {"name": "sort[type]", "in": "query", "type": "string"}], "security": [{"Bearer": []}], "tags": ["gpsr-document"]}}, "/gpsr-document/seller/{public_id}/options": {"parameters": [{"in": "path", "description": "Seller public identifier", "name": "public_id", "required": true, "type": "string"}], "get": {"responses": {"200": {"description": "Success", "schema": {"$ref": "#/definitions/gpsr_options"}}}, "summary": "List a Seller's GPSR documents", "operationId": "List a Seller's GPSR documents", "security": [{"Bearer": []}], "tags": ["gpsr-document"]}}, "/gpsr-document/{public_id}": {"parameters": [{"name": "public_id", "in": "path", "required": true, "type": "string"}], "delete": {"responses": {"200": {"description": "Success"}}, "summary": "Delete a GPSR document given its public identifier", "operationId": "Delete a GPSR document", "security": [{"Bearer": []}], "tags": ["gpsr-document"]}, "put": {"responses": {"200": {"description": "Success"}}, "summary": "Update GPSR document given its public identifier", "operationId": "Update GPSR document", "security": [{"Bearer": []}], "tags": ["gpsr-document"]}}, "/leads/": {"post": {"responses": {"200": {"description": "Success", "schema": {"properties": {"data": {"type": "array", "items": {"$ref": "#/definitions/lead"}}}}}}, "summary": "Create lead(s)", "operationId": "create lead(s)", "parameters": [{"name": "payload", "required": true, "in": "body", "schema": {"type": "array", "items": {"$ref": "#/definitions/lead"}}}], "tags": ["leads"]}}, "/leads/ppc-audit/": {"post": {"responses": {"200": {"description": "Success"}}, "summary": "Create lead(s) for ppc-audit", "operationId": "create lead(s) for ppc-audit", "tags": ["leads"]}}, "/leads/ppc-audit/match": {"get": {"responses": {"200": {"description": "Success"}}, "summary": "Match lead(s) for ppc-audit data", "operationId": "Match lead(s) for ppc-audit data", "security": [{"Bearer": []}], "tags": ["leads"]}}, "/marketplaces/": {"get": {"responses": {"200": {"description": "Success", "schema": {"properties": {"data": {"type": "array", "items": {"$ref": "#/definitions/marketplace"}}}}}}, "summary": "List all marketplaces", "operationId": "list of marketplaces", "security": [{"Bearer": []}], "tags": ["marketplaces"]}, "post": {"responses": {"200": {"description": "Success"}}, "summary": "Creates a new marketplace", "operationId": "create a new marketplace", "parameters": [{"name": "marketplace_id", "in": "query", "type": "string"}, {"name": "region", "in": "query", "type": "string"}, {"name": "region_code", "in": "query", "type": "string"}, {"name": "country", "in": "query", "type": "string"}, {"name": "country_code", "in": "query", "type": "string"}, {"name": "currency_code", "in": "query", "type": "string"}, {"name": "timezone", "in": "query", "type": "string"}, {"name": "sales_channel", "in": "query", "type": "string"}, {"name": "currency_to_usd", "in": "query", "type": "string"}], "security": [{"Bearer": []}], "tags": ["marketplaces"]}, "put": {"responses": {"200": {"description": "Success"}}, "summary": "Update marketplaces given amazon identifiers", "operationId": "update marketplaces given amazon identifiers", "parameters": [{"name": "marketplace_id", "in": "query", "type": "string"}, {"name": "region", "in": "query", "type": "string"}, {"name": "region_code", "in": "query", "type": "string"}, {"name": "country", "in": "query", "type": "string"}, {"name": "country_code", "in": "query", "type": "string"}, {"name": "currency_code", "in": "query", "type": "string"}, {"name": "timezone", "in": "query", "type": "string"}, {"name": "sales_channel", "in": "query", "type": "string"}, {"name": "currency_to_usd", "in": "query", "type": "string"}], "security": [{"Bearer": []}], "tags": ["marketplaces"]}}, "/marketplaces/{marketplace_id}": {"parameters": [{"in": "path", "description": "The marketplace amazon identifier", "name": "marketplace_id", "required": true, "type": "string"}], "get": {"responses": {"200": {"description": "Success", "schema": {"$ref": "#/definitions/marketplace"}}}, "summary": "Get a marketplace given its amazon identifier", "operationId": "get a marketplace", "security": [{"Bearer": []}], "tags": ["marketplaces"]}, "put": {"responses": {"200": {"description": "Success"}}, "summary": "Update a marketplace given its amazon identifier", "operationId": "update a marketplace", "parameters": [{"in": "query", "description": "The marketplace amazon identifier", "name": "marketplace_id", "required": true, "type": "string"}, {"name": "region", "in": "query", "type": "string"}, {"name": "region_code", "in": "query", "type": "string"}, {"name": "country", "in": "query", "type": "string"}, {"name": "country_code", "in": "query", "type": "string"}, {"name": "currency_code", "in": "query", "type": "string"}, {"name": "timezone", "in": "query", "type": "string"}, {"name": "sales_channel", "in": "query", "type": "string"}, {"name": "currency_to_usd", "in": "query", "type": "string"}], "security": [{"Bearer": []}], "tags": ["marketplaces"]}}, "/members/attach": {"post": {"responses": {"200": {"description": "Success"}}, "summary": "Attach an existing user to the caller's company (invite acceptance)", "operationId": "attach a user to the caller's company", "parameters": [{"name": "user_public_id", "in": "query", "type": "string", "required": true}], "security": [{"Bearer": []}], "tags": ["members"]}}, "/members/client-credit-limit": {"post": {"responses": {"200": {"description": "Success"}}, "summary": "Set the monthly credits each client login may use", "description": "(`client_credit_limit`: a whole number, or null for unlimited) \u2014\nautron-agent#827.", "operationId": "set the agency's monthly credit limit for client logins", "security": [{"Bearer": []}], "tags": ["members"]}}, "/members/create-in-company": {"post": {"responses": {"201": {"description": "User successfully created in company."}}, "summary": "Create a brand-new user in the caller's company (invite signup)", "operationId": "create a new user directly in the caller's company", "parameters": [{"name": "email", "in": "query", "type": "string", "required": true}, {"name": "password", "in": "query", "type": "string", "required": true}, {"name": "firstname", "in": "query", "type": "string", "required": true}, {"name": "lastname", "in": "query", "type": "string", "required": true}], "security": [{"Bearer": []}], "tags": ["members"]}}, "/members/credit-limit": {"post": {"responses": {"200": {"description": "Success"}}, "summary": "Give a member their own monthly credit limit (`credit_limit`: a", "description": "whole number, null for unlimited, or \"default\" to follow the\nagency's) \u2014 autron-agent#827.", "operationId": "set or clear one member's own monthly credit limit", "parameters": [{"name": "user_public_id", "in": "query", "type": "string", "required": true}], "security": [{"Bearer": []}], "tags": ["members"]}}, "/members/credits": {"get": {"responses": {"200": {"description": "Success"}}, "summary": "The agency's client credit limit, the current period, and each", "description": "member's own limit and credits used \u2014 autron-agent#827.", "operationId": "each member's credit limit and use this period", "security": [{"Bearer": []}], "tags": ["members"]}}, "/members/detach": {"post": {"responses": {"200": {"description": "Success"}}, "summary": "Detach a member from the caller's company (member removal)", "operationId": "detach a member from the caller's company", "parameters": [{"name": "user_public_id", "in": "query", "type": "string", "required": true}], "security": [{"Bearer": []}], "tags": ["members"]}}, "/members/grant": {"post": {"responses": {"200": {"description": "Success"}}, "summary": "Limit a member to some of the company's sellers and Walmart", "description": "advertisers, or (null) lift the limit.", "operationId": "set or clear a member's seller grant", "parameters": [{"name": "user_public_id", "in": "query", "type": "string", "required": true}], "security": [{"Bearer": []}], "tags": ["members"]}}, "/mws/orders/{amazon_order_id}": {"parameters": [{"in": "path", "description": "Amazon-defined order ID in 3-7-7 format", "name": "amazon_order_id", "required": true, "type": "string"}], "get": {"responses": {"200": {"description": "Success"}}, "summary": "get order given its amazon order ID", "operationId": "get a amazon order", "security": [{"Bearer": []}], "tags": ["mws/orders"]}}, "/mws/orders/{amazon_order_id}/items": {"parameters": [{"in": "path", "description": "Amazon-defined order ID in 3-7-7 format", "name": "amazon_order_id", "required": true, "type": "string"}], "get": {"responses": {"200": {"description": "Success"}}, "summary": "list order items given its amazon order ID", "operationId": "get a amazon order item list", "security": [{"Bearer": []}], "tags": ["mws/orders"]}}, "/orders/": {"get": {"responses": {"200": {"description": "Success", "schema": {"properties": {"data": {"type": "array", "items": {"$ref": "#/definitions/order"}}}}}}, "summary": "List all orders", "operationId": "list of orders", "security": [{"Bearer": []}], "tags": ["orders"]}, "post": {"responses": {"200": {"description": "Success"}}, "summary": "Creates new or updates existing order(s)", "operationId": "create new or update existing order(s)", "parameters": [{"name": "payload", "required": true, "in": "body", "schema": {"type": "array", "items": {"$ref": "#/definitions/order"}}}], "security": [{"Bearer": []}], "tags": ["orders"]}}, "/orders/{amazon_order_id}": {"parameters": [{"in": "path", "description": "Amazon-defined order ID in 3-7-7 format", "name": "amazon_order_id", "required": true, "type": "string"}], "get": {"responses": {"200": {"description": "Success", "schema": {"$ref": "#/definitions/order"}}}, "summary": "get a order given its amazon order identifier", "operationId": "get a customer", "security": [{"Bearer": []}], "tags": ["orders"]}}, "/partners/lead": {"post": {"responses": {"200": {"description": "Success"}}, "summary": "generate partner lead", "operationId": "generate partner lead", "parameters": [{"name": "partner_name", "in": "query", "type": "string"}], "security": [{"Bearer": []}], "tags": ["partners"]}}, "/portfolios": {"get": {"responses": {"200": {"description": "Success", "schema": {"$ref": "#/definitions/paginated_portfolios"}}}, "summary": "Get portfolios for seller-marketplace combo with optional query params", "operationId": "Get portfolios for seller/marketplace combo with optional query params", "parameters": [{"name": "page", "in": "query", "type": "integer", "default": 1}, {"name": "per_page", "in": "query", "type": "integer", "default": 1000}, {"name": "filter[seller_selling_partner_id][eq]", "in": "query", "type": "string", "required": true}, {"name": "filter[marketplace_marketplace_id][eq]", "in": "query", "type": "string", "required": true}, {"name": "filter[profile_profile_id][eq]", "in": "query", "type": "integer"}, {"name": "filter[type][eq]", "in": "query", "type": "string"}, {"name": "filter[state][eq]", "in": "query", "type": "string"}], "security": [{"Bearer": []}], "tags": ["portfolios"]}}, "/portfolios/": {"post": {"responses": {"200": {"description": "Success"}}, "summary": "Creates new or updates existing portfolio(s)", "operationId": "creates new or updates existing portfolio(s)", "parameters": [{"name": "portfolio_id", "in": "query", "type": "string"}, {"name": "name", "in": "query", "type": "string"}, {"name": "budget_amount", "in": "query", "type": "string"}, {"name": "budget_currency_code", "in": "query", "type": "string"}, {"name": "budget_policy", "in": "query", "type": "string"}, {"name": "budget_start_date", "in": "query", "type": "string"}, {"name": "budget_end_date", "in": "query", "type": "string"}, {"name": "state", "in": "query", "type": "string"}, {"name": "type", "in": "query", "type": "string"}, {"name": "active_from", "in": "query", "type": "string"}, {"name": "active_to", "in": "query", "type": "string"}, {"name": "move_previous_active_campaigns", "in": "query", "type": "string"}, {"name": "seller_selling_partner_id", "in": "query", "type": "string", "required": true}, {"name": "marketplace_marketplace_id", "in": "query", "type": "string", "required": true}, {"name": "profile_profile_id", "in": "query", "type": "string", "required": true}], "security": [{"Bearer": []}], "tags": ["portfolios"]}}, "/product-gpsr-document/associate": {"post": {"responses": {"200": {"description": "Success"}}, "summary": "Associate product GPSR document", "operationId": "Associate Product GPSR document", "security": [{"Bearer": []}], "tags": ["product-gpsr-document"]}}, "/product-gpsr-document/bulk": {"post": {"responses": {"200": {"description": "Success"}}, "summary": "Associate bulk product GPSR document", "operationId": "Bulk associate Product GPSR document", "security": [{"Bearer": []}], "tags": ["product-gpsr-document"]}}, "/product-gpsr-document/{product_id}": {"parameters": [{"name": "product_id", "in": "path", "required": true, "type": "string"}], "put": {"responses": {"200": {"description": "Success"}}, "summary": "Update Product GPSR document", "operationId": "Update Product GPSR document", "security": [{"Bearer": []}], "tags": ["product-gpsr-document"]}}, "/product-gpsr-document/{product_id}/disassociate": {"parameters": [{"name": "product_id", "in": "path", "required": true, "type": "string"}], "post": {"responses": {"200": {"description": "Success"}}, "summary": "Remove Product GPSR document association", "operationId": "Remove Product GPSR document association", "security": [{"Bearer": []}], "tags": ["product-gpsr-document"]}}, "/products/": {"get": {"responses": {"200": {"description": "Success", "schema": {"properties": {"data": {"type": "array", "items": {"$ref": "#/definitions/product"}}}}}}, "summary": "List all products", "operationId": "list of products", "security": [{"Bearer": []}], "tags": ["products"]}, "post": {"responses": {"200": {"description": "Success"}}, "summary": "Creates new or updates existing product(s)", "operationId": "create new or update existing product(s)", "parameters": [{"name": "payload", "required": true, "in": "body", "schema": {"type": "array", "items": {"$ref": "#/definitions/product"}}}], "security": [{"Bearer": []}], "tags": ["products"]}}, "/products/costs": {"post": {"responses": {"200": {"description": "Success"}}, "summary": "Bulk create product costs for multiple ASINs", "operationId": "Bulk create product costs for multiple ASINs", "parameters": [{"name": "costs", "in": "query", "type": "array", "required": true, "items": {"type": "string"}, "collectionFormat": "multi"}, {"name": "seller_selling_partner_id", "in": "query", "type": "string", "required": true}, {"name": "marketplace_marketplace_id", "in": "query", "type": "string", "required": true}], "security": [{"Bearer": []}], "tags": ["products"]}}, "/products/targets": {"post": {"responses": {"200": {"description": "Success"}}, "summary": "Bulk create ad targets for multiple ASINs", "operationId": "Bulk create ad targets for multiple ASINs", "parameters": [{"name": "targets", "in": "query", "type": "array", "required": true, "items": {"type": "string"}, "collectionFormat": "multi"}, {"name": "seller_selling_partner_id", "in": "query", "type": "string", "required": true}, {"name": "marketplace_marketplace_id", "in": "query", "type": "string", "required": true}], "security": [{"Bearer": []}], "tags": ["products"]}}, "/products/{public_id}": {"parameters": [{"in": "path", "description": "The product public id", "name": "public_id", "required": true, "type": "string"}], "get": {"responses": {"200": {"description": "Success", "schema": {"$ref": "#/definitions/product"}}}, "summary": "Get a product given its public id", "operationId": "get a product", "security": [{"Bearer": []}], "tags": ["products"]}}, "/products/{public_id}/costs": {"parameters": [{"in": "path", "description": "The product public id", "name": "public_id", "required": true, "type": "string"}], "get": {"responses": {"200": {"description": "Success", "schema": {"properties": {"data": {"type": "array", "items": {"$ref": "#/definitions/product_cost"}}}}}}, "summary": "Get product costs given its public id", "operationId": "get a products costs", "security": [{"Bearer": []}], "tags": ["products"]}, "post": {"responses": {"200": {"description": "Success"}}, "summary": "Creates a new product cost", "operationId": "create a new product cost", "parameters": [{"name": "payload", "required": true, "in": "body", "schema": {"$ref": "#/definitions/product_cost"}}], "security": [{"Bearer": []}], "tags": ["products"]}}, "/products/{public_id}/costs/{cost_public_id}": {"parameters": [{"in": "path", "description": "The product cost public id", "name": "cost_public_id", "required": true, "type": "string"}, {"in": "path", "description": "The product public id", "name": "public_id", "required": true, "type": "string"}], "get": {"responses": {"200": {"description": "Success", "schema": {"$ref": "#/definitions/product_cost"}}}, "summary": "Get a product cost given its public identifier", "operationId": "get a product cost", "security": [{"Bearer": []}], "tags": ["products"]}, "delete": {"responses": {"200": {"description": "Success"}}, "summary": "Delete a product cost given its public identifier", "operationId": "delete a product cost", "security": [{"Bearer": []}], "tags": ["products"]}, "put": {"responses": {"200": {"description": "Success"}}, "summary": "Update a product cost given its public identifier", "operationId": "update a product cost", "parameters": [{"name": "payload", "required": true, "in": "body", "schema": {"$ref": "#/definitions/product_cost"}}], "security": [{"Bearer": []}], "tags": ["products"]}}, "/products/{public_id}/targets": {"parameters": [{"in": "path", "description": "The product public id", "name": "public_id", "required": true, "type": "string"}], "post": {"responses": {"200": {"description": "Success"}}, "summary": "Create new or update existing targets(s)", "operationId": "create new or update existing targets(s)", "parameters": [{"name": "type", "in": "query", "type": "string"}, {"name": "match_type", "in": "query", "type": "string"}, {"name": "direction", "in": "query", "type": "string"}, {"name": "target", "in": "query", "type": "string"}, {"name": "state", "in": "query", "type": "string"}], "security": [{"Bearer": []}], "tags": ["products"]}}, "/products/{public_id}/targets/{target_public_id}": {"parameters": [{"in": "path", "description": "The product target public id", "name": "target_public_id", "required": true, "type": "string"}, {"in": "path", "description": "The product public id", "name": "public_id", "required": true, "type": "string"}], "delete": {"responses": {"200": {"description": "Success"}}, "summary": "Delete a product ad target given its public identifier", "operationId": "delete a product ad target", "security": [{"Bearer": []}], "tags": ["products"]}}, "/profiles/": {"get": {"responses": {"200": {"description": "Success", "schema": {"properties": {"data": {"type": "array", "items": {"$ref": "#/definitions/profile"}}}}}}, "summary": "List all profiles", "operationId": "list of profiles", "security": [{"Bearer": []}], "tags": ["profiles"]}, "post": {"responses": {"200": {"description": "Success"}}, "summary": "Creates new or updates existing profile(s)", "operationId": "creates new or updates existing profile(s)", "parameters": [{"name": "payload", "required": true, "in": "body", "schema": {"$ref": "#/definitions/profile"}}], "security": [{"Bearer": []}], "tags": ["profiles"]}}, "/profiles/{profile_id}": {"parameters": [{"in": "path", "description": "The amazon profile identifier (numeric)", "name": "profile_id", "required": true, "type": "integer"}], "get": {"responses": {"200": {"description": "Success", "schema": {"$ref": "#/definitions/profile"}}}, "summary": "Get a profile given its amazon ads identifier", "operationId": "get a profile", "security": [{"Bearer": []}], "tags": ["profiles"]}, "put": {"responses": {"200": {"description": "Success"}}, "summary": "Update a profile given its amazon ads identifier", "operationId": "update a profile", "parameters": [{"name": "payload", "required": true, "in": "body", "schema": {"$ref": "#/definitions/profile"}}], "security": [{"Bearer": []}], "tags": ["profiles"]}}, "/review-automation/": {"get": {"responses": {"200": {"description": "Success", "schema": {"$ref": "#/definitions/review_automation"}}}, "summary": "get review automation details for a given seller", "operationId": "get review automation details for a given seller", "parameters": [{"name": "seller_selling_partner_id", "in": "query", "type": "string", "required": true}, {"name": "marketplace_marketplace_id", "in": "query", "type": "string", "required": true}, {"name": "profile_profile_id", "in": "query", "type": "string", "required": true}], "security": [{"Bearer": []}], "tags": ["review-automation"]}, "post": {"responses": {"200": {"description": "Success"}}, "summary": "Update seller's review automation detail", "description": "Will create a new record if it does not exist yet.", "operationId": "Update seller's review automation detail. Will create a new record if it does not exist yet.", "parameters": [{"name": "state", "in": "query", "type": "string", "required": true}, {"name": "seller_selling_partner_id", "in": "query", "type": "string", "required": true}, {"name": "marketplace_marketplace_id", "in": "query", "type": "string", "required": true}, {"name": "profile_profile_id", "in": "query", "type": "integer", "required": true}], "security": [{"Bearer": []}], "tags": ["review-automation"]}, "put": {"responses": {"200": {"description": "Success"}}, "summary": "Update seller's review automation detail", "operationId": "Update a seller's review solicitation detail.", "parameters": [{"name": "public_id", "in": "query", "type": "string", "required": true}, {"name": "solicitation_delay", "in": "query", "type": "integer", "required": true}], "security": [{"Bearer": []}], "tags": ["review-automation"]}}, "/sellers/": {"get": {"responses": {"200": {"description": "Success", "schema": {"properties": {"data": {"type": "array", "items": {"$ref": "#/definitions/seller"}}}}}}, "summary": "List all registered sellers", "operationId": "list of registered sellers", "security": [{"Bearer": []}], "tags": ["sellers"]}, "post": {"responses": {"200": {"description": "Success"}}, "summary": "Create new or update existing seller", "operationId": "create new or update existing seller", "parameters": [{"name": "public_id", "in": "query", "type": "string"}, {"name": "marketplace_region", "in": "query", "type": "string"}, {"name": "primary_marketplace_id", "in": "query", "type": "string"}, {"name": "email", "in": "query", "type": "string"}, {"name": "name", "in": "query", "type": "string"}, {"name": "selling_partner_id", "in": "query", "type": "string"}, {"name": "amazon_callback_uri", "in": "query", "type": "string"}, {"name": "amazon_state", "in": "query", "type": "string"}, {"name": "state", "in": "query", "type": "string"}, {"name": "mws_auth_token", "in": "query", "type": "string"}, {"name": "spapi_oauth_code", "in": "query", "type": "string"}, {"name": "access_token", "in": "query", "type": "string"}, {"name": "token_type", "in": "query", "type": "string"}, {"name": "expires_in", "in": "query", "type": "string"}, {"name": "refresh_token", "in": "query", "type": "string"}, {"name": "company_public_id", "in": "query", "type": "string"}, {"name": "managing_company_public_id", "in": "query", "type": "string"}], "security": [{"Bearer": []}], "tags": ["sellers"]}}, "/sellers/amazon-auth": {"post": {"responses": {"200": {"description": "Success"}}, "summary": "Update amazon selling partner and advertising auth tokens", "operationId": "Update amazon selling partner and advertising auth tokens", "security": [{"Bearer": []}], "tags": ["sellers"]}}, "/sellers/billing-payers": {"get": {"responses": {"200": {"description": "Success"}}, "summary": "Every account this company owns, and who pays for it", "description": "The read model behind Settings -> Billing's Accounts card.", "operationId": "accounts and who pays for each", "security": [{"Bearer": []}], "tags": ["sellers"]}}, "/sellers/search": {"get": {"responses": {"200": {"description": "Success", "schema": {"properties": {"data": {"$ref": "#/definitions/seller"}}}}}, "summary": "List sellers based on a search term", "operationId": "List sellers based on a search term", "security": [{"Bearer": []}], "tags": ["sellers"]}}, "/sellers/selling-partner/{selling_partner_id}": {"parameters": [{"in": "path", "description": "Seller amazon selling partner id identifier", "name": "selling_partner_id", "required": true, "type": "string"}], "get": {"responses": {"200": {"description": "Success", "schema": {"$ref": "#/definitions/seller"}}}, "summary": "Get a seller from amazon selling partner id", "operationId": "Get a seller from amazon selling partner id", "security": [{"Bearer": []}], "tags": ["sellers"]}}, "/sellers/subscribed": {"get": {"responses": {"200": {"description": "Success", "schema": {"properties": {"data": {"type": "array", "items": {"$ref": "#/definitions/seller"}}}}}}, "summary": "List of sellers with active subscription", "operationId": "list of sellers with active subscription", "security": [{"Bearer": []}], "tags": ["sellers"]}}, "/sellers/{public_id}": {"parameters": [{"in": "path", "description": "Seller public identifier", "name": "public_id", "required": true, "type": "string"}], "get": {"responses": {"200": {"description": "Success", "schema": {"$ref": "#/definitions/seller"}}}, "summary": "Get a seller given it's public identifier", "operationId": "get a seller", "security": [{"Bearer": []}], "tags": ["sellers"]}, "delete": {"responses": {"200": {"description": "Success"}}, "summary": "Delete a seller given it's public identifier", "operationId": "delete a seller", "security": [{"Bearer": []}], "tags": ["sellers"]}, "put": {"responses": {"200": {"description": "Success"}}, "summary": "Update a seller given it's public identifier", "operationId": "update a seller", "parameters": [{"in": "query", "description": "Seller public identifier", "name": "public_id", "required": true, "type": "string"}, {"name": "marketplace_region", "in": "query", "type": "string"}, {"name": "primary_marketplace_id", "in": "query", "type": "string"}, {"name": "email", "in": "query", "type": "string"}, {"name": "name", "in": "query", "type": "string"}, {"name": "selling_partner_id", "in": "query", "type": "string"}, {"name": "amazon_callback_uri", "in": "query", "type": "string"}, {"name": "amazon_state", "in": "query", "type": "string"}, {"name": "state", "in": "query", "type": "string"}, {"name": "mws_auth_token", "in": "query", "type": "string"}, {"name": "spapi_oauth_code", "in": "query", "type": "string"}, {"name": "access_token", "in": "query", "type": "string"}, {"name": "token_type", "in": "query", "type": "string"}, {"name": "expires_in", "in": "query", "type": "string"}, {"name": "refresh_token", "in": "query", "type": "string"}, {"name": "company_public_id", "in": "query", "type": "string"}, {"name": "managing_company_public_id", "in": "query", "type": "string"}], "security": [{"Bearer": []}], "tags": ["sellers"]}}, "/sellers/{public_id}/amazon-relationships": {"parameters": [{"in": "path", "description": "Seller public identifier", "name": "public_id", "required": true, "type": "string"}], "get": {"responses": {"200": {"description": "Success"}}, "summary": "Get the status of a seller's Amazon relationships refresh", "operationId": "get the status of a seller's amazon relationships refresh", "security": [{"Bearer": []}], "tags": ["sellers"]}, "put": {"responses": {"202": {"description": "Refresh started (or already running) in the background"}, "200": {"description": "Seller is not authorized as a Selling Partner yet \u2014 nothing started"}}, "summary": "Start a refresh of a seller's amazon relationships: marketplaces, spapi subs, profiles", "operationId": "start a refresh of a seller's amazon relationships: marketplaces, spapi subs, profiles", "security": [{"Bearer": []}], "tags": ["sellers"]}}, "/sellers/{public_id}/billing-payer": {"parameters": [{"in": "path", "description": "The Seller identifier", "name": "public_id", "required": true, "type": "string"}], "delete": {"responses": {"200": {"description": "Success"}}, "summary": "Hand this seller's charge back to the company that owns it", "operationId": "hand billing back to the owning company", "security": [{"Bearer": []}], "tags": ["sellers"]}, "put": {"responses": {"200": {"description": "Success"}}, "summary": "Point this seller's charge at a payer company", "description": "For an agency client that manages through the agency but wants the\nsubscription on its own card and its own VAT invoice. Ownership and\nthe agency's pricing ladder are untouched.", "operationId": "bill this seller to a company that does not own it", "parameters": [{"name": "company_public_id", "in": "query", "type": "string"}, {"name": "name", "in": "query", "type": "string"}, {"name": "email", "in": "query", "type": "string"}, {"name": "unit_amount", "in": "query", "type": "number"}, {"name": "trial_days", "in": "query", "type": "integer"}, {"name": "coupon", "in": "query", "type": "string"}, {"name": "product_id", "in": "query", "type": "string"}], "security": [{"Bearer": []}], "tags": ["sellers"]}}, "/sellers/{public_id}/brands": {"parameters": [{"in": "path", "description": "Seller public identifier", "name": "public_id", "required": true, "type": "string"}], "get": {"responses": {"200": {"description": "Success", "schema": {"$ref": "#/definitions/paginated_brands"}}}, "summary": "List a Seller's brands (default: primary marketplace; pass ?marketplace_id= to override)", "operationId": "List a Seller's brands (default: primary marketplace; pass ?marketplace_id= to override)", "parameters": [{"name": "page", "in": "query", "type": "integer", "default": 1}, {"name": "per_page", "in": "query", "type": "integer", "default": 1}, {"name": "marketplace_id", "in": "query", "type": "string"}], "security": [{"Bearer": []}], "tags": ["sellers"]}}, "/sellers/{public_id}/goals": {"parameters": [{"in": "path", "description": "Seller public identifier", "name": "public_id", "required": true, "type": "string"}], "get": {"responses": {"200": {"description": "Success", "schema": {"$ref": "#/definitions/paginated_goals"}}}, "summary": "List a Seller's goals (default: primary marketplace; pass ?marketplace_id= to override)", "operationId": "List a Seller's goals (default: primary marketplace; pass ?marketplace_id= to override)", "parameters": [{"name": "page", "in": "query", "type": "integer", "default": 1}, {"name": "per_page", "in": "query", "type": "integer", "default": 1}, {"name": "goal_state", "in": "query", "type": "string"}, {"name": "goal_type", "in": "query", "type": "string"}, {"name": "goal_objective", "in": "query", "type": "string"}, {"name": "goal_strategy", "in": "query", "type": "string"}, {"name": "filter[product_asin][eq]", "in": "query", "type": "string"}, {"name": "filter[type][in]", "in": "query", "type": "string"}, {"name": "gfilter[product_asin,product_sku,product_parent_asin,product_name][ilike]", "in": "query", "type": "string"}, {"name": "sort[product_asin]", "in": "query", "type": "string"}, {"name": "marketplace_id", "in": "query", "type": "string"}], "security": [{"Bearer": []}], "tags": ["sellers"]}}, "/sellers/{public_id}/goals-new": {"parameters": [{"in": "path", "description": "Seller public identifier", "name": "public_id", "required": true, "type": "string"}], "get": {"responses": {"200": {"description": "Success", "schema": {"$ref": "#/definitions/new_product_goals"}}}, "summary": "List of Seller's new goals", "operationId": "List a Seller's new goals", "security": [{"Bearer": []}], "tags": ["sellers"]}}, "/sellers/{public_id}/ingest-complete": {"parameters": [{"in": "path", "description": "Seller public identifier", "name": "public_id", "required": true, "type": "string"}], "post": {"responses": {"200": {"description": "Success"}}, "summary": "Record that a seller's first ingest is complete; an agent signup is handed to its performance audit", "operationId": "Record that a seller's first ingest is complete; an agent signup is handed to its performance audit", "security": [{"Bearer": []}], "tags": ["sellers"]}}, "/sellers/{public_id}/ppc-audit-complete": {"parameters": [{"in": "path", "description": "Seller public identifier", "name": "public_id", "required": true, "type": "string"}], "post": {"responses": {"200": {"description": "Success"}}, "summary": "Send email to seller/user informing their PPC Audit report is ready", "operationId": "Send email to seller/user informing their PPC Audit report is ready.", "security": [{"Bearer": []}], "tags": ["sellers"]}}, "/sellers/{public_id}/primary": {"parameters": [{"in": "path", "description": "Seller public identifier", "name": "public_id", "required": true, "type": "string"}], "put": {"responses": {"200": {"description": "Success"}}, "summary": "Update a seller as a user's primary", "operationId": "update a seller as a user's primary", "parameters": [{"name": "primary_marketplace_id", "in": "query", "type": "string"}], "security": [{"Bearer": []}], "tags": ["sellers"]}}, "/sellers/{public_id}/product-financials": {"parameters": [{"in": "path", "description": "Seller public identifier", "name": "public_id", "required": true, "type": "string"}], "get": {"responses": {"200": {"description": "Success", "schema": {"$ref": "#/definitions/product_financials_paginated"}}}, "summary": "List a Seller's product financials (default: primary marketplace; pass ?marketplace_id= to override)", "operationId": "List a Seller's product financials (default: primary marketplace; pass ?marketplace_id= to override)", "parameters": [{"name": "page", "in": "query", "type": "integer", "default": 1}, {"name": "per_page", "in": "query", "type": "integer", "default": 1}, {"name": "filter[or]", "in": "query", "type": "string"}, {"name": "filter[asin][eq]", "in": "query", "type": "string"}, {"name": "filter[asin][in]", "in": "query", "type": "string"}, {"name": "filter[sku][eq]", "in": "query", "type": "string"}, {"name": "filter[product_name][ilike]", "in": "query", "type": "string"}, {"name": "gfilter[product_name,sku,asin][ilike]", "in": "query", "type": "string"}, {"name": "status_amazon", "in": "query", "type": "string"}, {"name": "has_document", "in": "query", "type": "string"}, {"name": "marketplace_id", "in": "query", "type": "string"}, {"name": "sort[product_name]", "in": "query", "type": "string"}, {"name": "sort[asin]", "in": "query", "type": "string"}, {"name": "sort[sku]", "in": "query", "type": "string"}], "security": [{"Bearer": []}], "tags": ["sellers"]}}, "/sellers/{public_id}/products": {"parameters": [{"in": "path", "description": "Seller public identifier", "name": "public_id", "required": true, "type": "string"}], "get": {"responses": {"200": {"description": "Success", "schema": {"$ref": "#/definitions/paginated_products"}}}, "summary": "List a Seller's products (default: primary marketplace; pass ?marketplace_id= to override)", "operationId": "List a Seller's products (default: primary marketplace; pass ?marketplace_id= to override)", "parameters": [{"name": "page", "in": "query", "type": "integer", "default": 1}, {"name": "per_page", "in": "query", "type": "integer", "default": 1}, {"name": "filter[or]", "in": "query", "type": "string"}, {"name": "filter[asin][eq]", "in": "query", "type": "string"}, {"name": "filter[asin][in]", "in": "query", "type": "string"}, {"name": "filter[sku][eq]", "in": "query", "type": "string"}, {"name": "filter[product_name][ilike]", "in": "query", "type": "string"}, {"name": "gfilter[product_name,sku,asin][ilike]", "in": "query", "type": "string"}, {"name": "status_amazon", "in": "query", "type": "string"}, {"name": "has_document", "in": "query", "type": "string"}, {"name": "marketplace_id", "in": "query", "type": "string"}, {"name": "sort[product_name]", "in": "query", "type": "string"}, {"name": "sort[asin]", "in": "query", "type": "string"}, {"name": "sort[sku]", "in": "query", "type": "string"}], "security": [{"Bearer": []}], "tags": ["sellers"]}}, "/sellers/{public_id}/products-gpsr": {"parameters": [{"in": "path", "description": "Seller public identifier", "name": "public_id", "required": true, "type": "string"}], "get": {"responses": {"200": {"description": "Success", "schema": {"$ref": "#/definitions/paginated_products"}}}, "summary": "List a Seller's products GPSR (default: primary marketplace; pass ?marketplace_id= to override)", "operationId": "List a Seller's products GPSR (default: primary marketplace; pass ?marketplace_id= to override)", "parameters": [{"name": "page", "in": "query", "type": "integer", "default": 1}, {"name": "per_page", "in": "query", "type": "integer", "default": 1}, {"name": "filter[asin][eq]", "in": "query", "type": "string"}, {"name": "filter[sku][eq]", "in": "query", "type": "string"}, {"name": "filter[parent_asin][eq]", "in": "query", "type": "string"}, {"name": "filter[product_name][ilike]", "in": "query", "type": "string"}, {"name": "gfilter[product_name,sku,asin,parent_asin][ilike]", "in": "query", "type": "string"}, {"name": "status_amazon", "in": "query", "type": "string"}, {"name": "has_document", "in": "query", "type": "string"}, {"name": "marketplace_id", "in": "query", "type": "string"}, {"name": "sort[product_name]", "in": "query", "type": "string"}, {"name": "sort[asin]", "in": "query", "type": "string"}, {"name": "sort[sku]", "in": "query", "type": "string"}], "security": [{"Bearer": []}], "tags": ["sellers"]}}, "/stripe/agent-pack/cancel": {"post": {"responses": {"200": {"description": "Success"}}, "summary": "Cancel the company's active agent pack", "operationId": "Cancel the active agent pack. Multi-item sub \u2192 delete just the agent SubscriptionItem; agent-only sub \u2192 cancel_at_period_end.", "security": [{"Bearer": []}], "tags": ["stripe"]}}, "/stripe/agent-pack/change": {"post": {"responses": {"200": {"description": "Success"}}, "summary": "Change the company's active agent pack", "operationId": "Change the active agent pack to a different SKU. Native Stripe proration; off-session-confirms any prorated PaymentIntent.", "parameters": [{"name": "target_catalog_key", "in": "query", "type": "string", "required": true, "description": "Catalog key for the new pack (e.g. agent_2500)"}, {"name": "currency", "in": "query", "type": "string", "default": "usd"}], "security": [{"Bearer": []}], "tags": ["stripe"]}}, "/stripe/agent-pack/subscribe": {"post": {"responses": {"200": {"description": "Success"}}, "summary": "Subscribe the company to an agent credit pack", "operationId": "Subscribe to or add an agent credit pack. Greenfield \u2192 hosted Checkout. Existing classic sub \u2192 subscription.modify + off-session.", "parameters": [{"name": "pack_key", "in": "query", "type": "string", "required": true, "description": "Catalog key for the desired pack (e.g. agent_1000)"}, {"name": "customer_id", "in": "query", "type": "string", "required": true}, {"name": "customer_email", "in": "query", "type": "string", "required": true}, {"name": "company_public_id", "in": "query", "type": "string", "required": true}, {"name": "user_public_id", "in": "query", "type": "string", "required": true}, {"name": "success_url", "in": "query", "type": "string", "required": true}, {"name": "cancel_url", "in": "query", "type": "string", "required": true}, {"name": "currency", "in": "query", "type": "string", "default": "usd"}], "security": [{"Bearer": []}], "tags": ["stripe"]}}, "/stripe/agent-pack/uncancel": {"post": {"responses": {"200": {"description": "Success"}}, "summary": "Restore the company's pending-cancel agent pack", "operationId": "Reverse a pending cancel by clearing cancel_at_period_end on the live agent sub. Powers the agent app's Resubscribe button.", "security": [{"Bearer": []}], "tags": ["stripe"]}}, "/stripe/checkout-session": {"post": {"responses": {"200": {"description": "Success"}}, "summary": "Create new Checkout Session for the subscription", "operationId": "Create new Checkout Session for the subscription", "parameters": [{"name": "price_id", "in": "query", "type": "string", "required": true}, {"name": "usage_type", "in": "query", "type": "string", "required": true}, {"name": "customer_id", "in": "query", "type": "string", "required": true}, {"name": "customer_email", "in": "query", "type": "string", "required": true}, {"name": "user_public_id", "in": "query", "type": "string", "required": true}, {"name": "company_public_id", "in": "query", "type": "string", "required": true}, {"name": "client_reference_id", "in": "query", "type": "string", "required": true}], "security": [{"Bearer": []}], "tags": ["stripe"]}}, "/stripe/checkout-session/{session_id}": {"parameters": [{"name": "session_id", "in": "path", "required": true, "type": "string"}], "get": {"responses": {"200": {"description": "Success"}}, "summary": "Get a Checkout Session", "operationId": "Get a Checkout Session", "security": [{"Bearer": []}], "tags": ["stripe"]}}, "/stripe/customer-portal": {"post": {"responses": {"200": {"description": "Success"}}, "summary": "Create customer portal session with url", "operationId": "Create customer portal session with url", "security": [{"Bearer": []}], "tags": ["stripe"]}}, "/stripe/customer/{customer_id}": {"parameters": [{"name": "customer_id", "in": "path", "required": true, "type": "string"}], "get": {"responses": {"200": {"description": "Success"}}, "summary": "Get a Stripe customer", "operationId": "Get a Stripe customer", "security": [{"Bearer": []}], "tags": ["stripe"]}}, "/stripe/customer/{customer_id}/upcoming-invoices": {"parameters": [{"name": "customer_id", "in": "path", "required": true, "type": "string"}], "get": {"responses": {"200": {"description": "Success"}}, "summary": "Get the upcoming invoices for a customer", "operationId": "Get the upcoming invoices for a customer", "security": [{"Bearer": []}], "tags": ["stripe"]}}, "/stripe/embedded-session": {"post": {"responses": {"200": {"description": "Success"}}, "summary": "Create new Embedded Session for the subscription", "operationId": "Create new Embedded Session for the subscription", "security": [{"Bearer": []}], "tags": ["stripe"]}}, "/stripe/pro/downgrade": {"post": {"responses": {"200": {"description": "Success"}}, "summary": "Pro \u2192 Agent downgrade on the caller's own subscription", "operationId": "Downgrade a v2 Pro subscription to an Agent pack in place (#553): one subscription.modify swaps the licensed item to the pack price and deletes the metered commission item; the engine is disabled. Replaces the cancel-and-resubscribe workaround.", "parameters": [{"name": "target_catalog_key", "in": "query", "type": "string", "required": true, "description": "Catalog key for the new pack (e.g. agent_2500)"}, {"name": "currency", "in": "query", "type": "string", "default": "usd"}], "security": [{"Bearer": []}], "tags": ["stripe"]}}, "/stripe/pro/subscribe": {"post": {"responses": {"200": {"description": "Success"}}, "summary": "Create a hosted Checkout Session for Autron Pro", "operationId": "Subscribe the company to Autron Pro via hosted Checkout \u2014 the agent app's upgrade door (autron-agent#520). Identity is resolved from the bearer token; prices resolve server-side.", "parameters": [{"name": "success_url", "in": "query", "type": "string", "required": true}, {"name": "cancel_url", "in": "query", "type": "string", "required": true}], "security": [{"Bearer": []}], "tags": ["stripe"]}}, "/stripe/pro/upgrade": {"post": {"responses": {"200": {"description": "Success"}}, "summary": "Pack \u2192 Pro upgrade on the caller's own subscription", "operationId": "Upgrade an existing agent-pack subscription to Pro in place (agent#553 V2): one subscription.modify swaps the pack item to the pro_500 licensed price and appends the metered commission item. Prorated, off-session-confirmed. Identity from the bearer token.", "security": [{"Bearer": []}], "tags": ["stripe"]}}, "/stripe/setup": {"get": {"responses": {"200": {"description": "Success"}}, "summary": "Get Stripe publishable key and prices to initialize Stripe-js", "operationId": "Get Stripe publishable key and prices to initialize Stripe.js", "security": [{"Bearer": []}], "tags": ["stripe"]}}, "/stripe/subscription-item/usage": {"post": {"responses": {"200": {"description": "Success"}}, "summary": "Create metered billing usage record for subscription item", "operationId": "Create metered billing usage record for subscription item", "security": [{"Bearer": []}], "tags": ["stripe"]}}, "/stripe/subscription-item/{customer_id}": {"parameters": [{"name": "customer_id", "in": "path", "required": true, "type": "string"}], "get": {"responses": {"200": {"description": "Success"}}, "operationId": "Get a Subscription Item", "security": [{"Bearer": []}], "tags": ["stripe"]}}, "/stripe/webhook": {"post": {"responses": {"200": {"description": "Success"}}, "summary": "Receive information about asynchronous Stripe payment events", "operationId": "Receive information about asynchronous Stripe payment events", "security": [{"Bearer": []}], "tags": ["stripe"]}}, "/users/": {"get": {"responses": {"200": {"description": "Success", "schema": {"properties": {"data": {"type": "array", "items": {"$ref": "#/definitions/user"}}}}}}, "summary": "List all registered users", "operationId": "list_of_registered_users", "security": [{"Bearer": []}], "tags": ["users"]}, "post": {"responses": {"201": {"description": "User successfully created."}}, "summary": "Creates a new User", "operationId": "create a new user", "parameters": [{"name": "firstname", "in": "query", "type": "string", "required": true}, {"name": "lastname", "in": "query", "type": "string", "required": true}, {"name": "company", "in": "query", "type": "string"}, {"name": "phone", "in": "query", "type": "string"}, {"name": "email", "in": "query", "type": "string", "required": true}, {"name": "password", "in": "query", "type": "string", "required": true}, {"name": "managing_company_public_id", "in": "query", "type": "string"}, {"name": "hear_from", "in": "query", "type": "string"}, {"name": "reason_to_use", "in": "query", "type": "string"}, {"name": "signup_source", "in": "query", "type": "string"}, {"name": "attribution", "in": "query", "type": "string"}], "tags": ["users"]}}, "/users/{public_id}": {"parameters": [{"in": "path", "description": "The User identifier", "name": "public_id", "required": true, "type": "string"}], "get": {"responses": {"404": {"description": "User not found."}, "200": {"description": "Success", "schema": {"$ref": "#/definitions/user"}}}, "summary": "get a user given its public identifier", "operationId": "get a user", "security": [{"Bearer": []}], "tags": ["users"]}, "put": {"responses": {"404": {"description": "User not found."}, "200": {"description": "User successfully updated."}}, "summary": "update a user given its public identifier", "operationId": "update a user", "parameters": [{"name": "firstname", "in": "query", "type": "string"}, {"name": "lastname", "in": "query", "type": "string"}, {"name": "phone", "in": "query", "type": "string"}, {"name": "hear_from", "in": "query", "type": "string"}, {"name": "reason_to_use", "in": "query", "type": "string"}, {"name": "company_name", "in": "query", "type": "string"}], "security": [{"Bearer": []}], "tags": ["users"]}}, "/users/{public_id}/send-email": {"parameters": [{"in": "path", "description": "The User identifier", "name": "public_id", "required": true, "type": "string"}], "post": {"responses": {"404": {"description": "User not found."}, "200": {"description": "Email successfully sent."}}, "summary": "send an email given a user's public identifier", "operationId": "send an email", "parameters": [{"name": "template", "in": "query", "type": "string", "required": true}, {"name": "subject", "in": "query", "type": "string", "required": true}, {"name": "to_email", "in": "query", "type": "string", "required": true}, {"name": "message", "in": "query", "type": "string", "required": true}], "security": [{"Bearer": []}], "tags": ["users"]}}, "/walmart/access-report": {"post": {"responses": {"200": {"description": "Success", "schema": {"$ref": "#/definitions/walmart_access_report_result"}}}, "summary": "Reconcile every claim against Walmart's report: present -> active, absent -> revoked", "operationId": "apply a partner-level Advertiser Attributes report (autron-sync, daily)", "security": [{"Bearer": []}], "tags": ["walmart"]}}, "/walmart/advertisers": {"get": {"responses": {"200": {"description": "Success", "schema": {"type": "array", "items": {"$ref": "#/definitions/walmart_advertiser"}}}}, "summary": "List the Walmart advertisers claimed by the caller's company", "operationId": "list the caller's company's Walmart advertisers", "security": [{"Bearer": []}], "tags": ["walmart"]}, "post": {"responses": {"409": {"description": "Advertiser ID already connected to another company."}, "201": {"description": "Advertiser claimed (pending until Walmart grants access)."}, "200": {"description": "Success", "schema": {"$ref": "#/definitions/walmart_advertiser"}}}, "summary": "Claim an Advertiser ID; idempotent for the owning company", "operationId": "claim a Walmart Advertiser ID for the caller's company", "parameters": [{"name": "advertiser_id", "in": "query", "type": "string", "required": true}, {"name": "advertiser_name", "in": "query", "type": "string"}], "security": [{"Bearer": []}], "tags": ["walmart"]}}, "/walmart/advertisers/{public_id}": {"parameters": [{"in": "path", "description": "Walmart advertiser public identifier", "name": "public_id", "required": true, "type": "string"}], "delete": {"responses": {"200": {"description": "Success"}}, "summary": "Remove the claim", "description": "Never refused: every campaign Autron manages here is handed back and left as it is\non Walmart, and the registry rows stay. Walmart-side access is revoked by the seller in Ad Center.", "operationId": "remove a claimed Walmart advertiser", "security": [{"Bearer": []}], "tags": ["walmart"]}}, "/walmart/advertisers/{public_id}/campaigns": {"parameters": [{"in": "path", "description": "Walmart advertiser public identifier", "name": "public_id", "required": true, "type": "string"}], "get": {"responses": {"200": {"description": "Success", "schema": {"type": "array", "items": {"$ref": "#/definitions/walmart_campaign"}}}}, "summary": "The registry, oldest first \u2014 handed-back campaigns included, with unmanaged_at set", "operationId": "list the campaigns Autron created for this advertiser", "security": [{"Bearer": []}], "tags": ["walmart"]}, "post": {"responses": {"503": {"description": "No Walmart credentials on this environment."}, "502": {"description": "Walmart refused a write; `created` lists what exists so far."}, "403": {"description": "Walmart has not granted Autron Campaign Management on this advertiser."}, "400": {"description": "No live goal for the item, the goal is off and state=enabled, or a bad request."}, "201": {"description": "Campaign, ad group, ad item (and keywords) created and recorded as Autron's. With state=enabled, `state` says whether the enable landed (enabled, paused or unknown) and `state_message` why not.", "schema": {"$ref": "#/definitions/walmart_campaign_tree"}}}, "summary": "Goal \u2192 campaign \u2192 ad group \u2192 ad item \u2192 keywords, registered as Autron's in the same request", "description": "The campaign is created paused; with state=enabled it is enabled as the last step, once the whole tree exists and only if the item's goal is still on. It starts tomorrow (Walmart refuses a start date that is not in the future), so an enabled campaign reads \"Scheduled\" in Ad Center until then. A complete tree always answers 201: if the enable did not land, retry it with PUT .../campaigns/<campaign_id>/state, never by building again (every build makes a new campaign).", "operationId": "build a campaign tree for one item's goal, paused or enabled", "parameters": [{"name": "payload", "required": true, "in": "body", "schema": {"$ref": "#/definitions/walmart_campaign_build_request"}}], "security": [{"Bearer": []}], "tags": ["walmart"]}}, "/walmart/advertisers/{public_id}/campaigns/{campaign_id}": {"parameters": [{"in": "path", "description": "Walmart campaign id", "name": "campaign_id", "required": true, "type": "string"}, {"in": "path", "description": "Walmart advertiser public identifier", "name": "public_id", "required": true, "type": "string"}], "delete": {"responses": {"409": {"description": "Another change to this campaign is in progress; try again in a moment."}, "403": {"description": "Not a campaign Autron manages."}, "200": {"description": "Success", "schema": {"$ref": "#/definitions/walmart_campaign"}}}, "summary": "No Walmart call; the registry row stays, with unmanaged_at set", "operationId": "hand a campaign back: stop managing it and leave it as it is on Walmart", "security": [{"Bearer": []}], "tags": ["walmart"]}}, "/walmart/advertisers/{public_id}/campaigns/{campaign_id}/state": {"parameters": [{"in": "path", "description": "Walmart campaign id", "name": "campaign_id", "required": true, "type": "string"}, {"in": "path", "description": "Walmart advertiser public identifier", "name": "public_id", "required": true, "type": "string"}], "put": {"responses": {"409": {"description": "Another change to this campaign is in progress, it was handed back meanwhile, or (enable only) the item's goal is off."}, "403": {"description": "Not a campaign Autron manages \u2014 the guardrail."}, "200": {"description": "Success", "schema": {"$ref": "#/definitions/walmart_campaign"}}}, "summary": "Refused unless the campaign is in Autron's registry and still managed", "operationId": "pause or enable a campaign Autron manages", "parameters": [{"name": "payload", "required": true, "in": "body", "schema": {"$ref": "#/definitions/walmart_campaign_state_request"}}], "security": [{"Bearer": []}], "tags": ["walmart"]}}, "/walmart/advertisers/{public_id}/ceiling": {"parameters": [{"in": "path", "description": "Walmart advertiser public identifier", "name": "public_id", "required": true, "type": "string"}], "put": {"responses": {"404": {"description": "Walmart advertiser not found."}, "400": {"description": "Not a number of dollars per day above zero and at most 1,000,000, or null; the message says which."}, "200": {"description": "Success", "schema": {"$ref": "#/definitions/walmart_advertiser"}}}, "summary": "The dollars per day above which the agent asks the seller first, agreed in the launch plan; null removes it", "description": "The API only stores and returns it: nothing enforces it (not the build, not the state route, no job). Budget pacing is the kernel's (autron-agent#733).", "operationId": "set or clear the advertiser's daily spend ceiling", "parameters": [{"name": "payload", "required": true, "in": "body", "schema": {"$ref": "#/definitions/walmart_advertiser_ceiling_request"}}], "security": [{"Bearer": []}], "tags": ["walmart"]}}, "/walmart/advertisers/{public_id}/check": {"parameters": [{"in": "path", "description": "Walmart advertiser public identifier", "name": "public_id", "required": true, "type": "string"}], "post": {"responses": {"200": {"description": "Success", "schema": {"$ref": "#/definitions/walmart_check_result"}}}, "summary": "'Check now': one signed GET; flips pending -> active on 200", "operationId": "probe Walmart for access to a claimed advertiser", "security": [{"Bearer": []}], "tags": ["walmart"]}}, "/walmart/advertisers/{public_id}/goals": {"parameters": [{"in": "path", "description": "Walmart advertiser public identifier", "name": "public_id", "required": true, "type": "string"}], "get": {"responses": {"200": {"description": "Success", "schema": {"type": "array", "items": {"$ref": "#/definitions/walmart_goal"}}}}, "summary": "One goal per item, live states only (enabled and disabled)", "operationId": "list the advertiser's item goals", "security": [{"Bearer": []}], "tags": ["walmart"]}}, "/walmart/advertisers/{public_id}/goals/{item_id}": {"parameters": [{"in": "path", "description": "Walmart item ID (the number in the item's walmart.com/ip/ URL)", "name": "item_id", "required": true, "type": "string"}, {"in": "path", "description": "Walmart advertiser public identifier", "name": "public_id", "required": true, "type": "string"}], "delete": {"responses": {"404": {"description": "No live goal for that item."}, "200": {"description": "Goal archived, then the item's managed campaigns paused: `campaigns` and `spend_stopped` say how; `message` names any that may still spend."}}, "summary": "Archives the goal; the row is kept as the record of why we acted", "description": "A campaign it could not pause is retried with PUT .../campaigns/<campaign_id>/state (a second DELETE answers 404).", "operationId": "turn the engine off for one item", "security": [{"Bearer": []}], "tags": ["walmart"]}, "put": {"responses": {"400": {"description": "Objective or strategy not available on Walmart."}, "201": {"description": "Goal created."}, "200": {"description": "Goal saved. Left disabled, the item's managed campaigns are paused: `campaigns` says how each went and `spend_stopped` whether all are paused. The goal change stands whatever Walmart does.", "schema": {"$ref": "#/definitions/walmart_goal_write"}}}, "summary": "Idempotent on (advertiser, item): a second call replaces the live goal", "description": "Every PUT that leaves the goal disabled pauses the item's managed campaigns, so sending it again retries a pause that failed. Switching a goal on enables nothing.", "operationId": "set the goal for one item", "parameters": [{"name": "payload", "required": true, "in": "body", "schema": {"$ref": "#/definitions/walmart_goal_request"}}], "security": [{"Bearer": []}], "tags": ["walmart"]}}, "/walmart/advertisers/{public_id}/items": {"parameters": [{"in": "path", "description": "Walmart advertiser public identifier", "name": "public_id", "required": true, "type": "string"}], "get": {"responses": {"503": {"description": "No Walmart credentials on this environment."}, "502": {"description": "Walmart refused or did not answer the search; the message carries Walmart's text."}, "403": {"description": "Walmart has not granted Autron access to this advertiser."}, "400": {"description": "Neither or both of q and ids; q outside 2-100 characters; ids not numeric or more than 20."}, "200": {"description": "Success", "schema": {"type": "array", "items": {"$ref": "#/definitions/walmart_item"}}}}, "summary": "Walmart's itemSearch over the advertiser's OWN catalog: name, image, page and suggested bid per item, at most 25 rows", "description": "`[]` is a real answer \u2014 the word matches nothing this advertiser sells.", "operationId": "search the advertiser's own catalog by text, or look items up by id", "parameters": [{"name": "q", "in": "query", "type": "string", "description": "search text, 2 to 100 characters; searches the advertiser's own catalog by name"}, {"name": "ids", "in": "query", "type": "string", "description": "Walmart item IDs to look up, comma-separated (or repeated), at most 20"}], "security": [{"Bearer": []}], "tags": ["walmart"]}}, "/walmart/advertisers/{public_id}/items/costs": {"parameters": [{"in": "path", "description": "Walmart advertiser public identifier", "name": "public_id", "required": true, "type": "string"}], "get": {"responses": {"404": {"description": "Walmart advertiser not found."}, "200": {"description": "Success", "schema": {"type": "array", "items": {"$ref": "#/definitions/walmart_item_cost"}}}}, "summary": "One row per priced item, oldest first", "description": "Stored values only: Walmart reports no item price, so nothing here is read from Walmart.", "operationId": "list the prices the seller has entered for the advertiser's items", "security": [{"Bearer": []}], "tags": ["walmart"]}}, "/walmart/advertisers/{public_id}/items/{item_id}/cost": {"parameters": [{"in": "path", "description": "Walmart item ID (the number in the item's walmart.com/ip/ URL)", "name": "item_id", "required": true, "type": "string"}, {"in": "path", "description": "Walmart advertiser public identifier", "name": "public_id", "required": true, "type": "string"}], "put": {"responses": {"404": {"description": "Walmart advertiser not found."}, "400": {"description": "Not a number of dollars above zero and at most 1,000,000, or the item id is not numeric; the message says which."}, "201": {"description": "Price stored."}, "200": {"description": "Success", "schema": {"$ref": "#/definitions/walmart_item_cost"}}}, "summary": "What the item sells for, typed by the seller in the launch plan", "description": "Idempotent on (advertiser, item): a second call replaces the price. The kernel reads it to value a click; without it every bid on the item holds until the item has an order of its own. Sets nothing on Walmart.", "operationId": "set the seller's price for one item", "parameters": [{"name": "payload", "required": true, "in": "body", "schema": {"$ref": "#/definitions/walmart_item_cost_request"}}], "security": [{"Bearer": []}], "tags": ["walmart"]}}, "/walmart/advertisers/{public_id}/keyword-analytics": {"parameters": [{"in": "path", "description": "Walmart advertiser public identifier", "name": "public_id", "required": true, "type": "string"}], "post": {"responses": {"503": {"description": "No Walmart credentials on this environment."}, "502": {"description": "Walmart refused or did not answer; the message carries Walmart's text."}, "403": {"description": "Walmart has not granted Autron access to this advertiser."}, "400": {"description": "item_ids missing, empty, more than 20, or not numeric."}, "200": {"description": "Success", "schema": {"type": "array", "items": {"$ref": "#/definitions/walmart_keyword_analytics_row"}}}}, "summary": "Walmart's keywordAnalytics per item: the queries shoppers use that lead to each item, with Walmart's High/Medium/Low frequency for the item and for the query's traffic overall", "description": "A read for the cold start: what to target before any campaign has data.", "operationId": "the search queries Walmart associates with the advertiser's items", "parameters": [{"name": "payload", "required": true, "in": "body", "schema": {"$ref": "#/definitions/walmart_keyword_analytics_request"}}], "security": [{"Bearer": []}], "tags": ["walmart"]}}}, "info": {"title": "Autron API", "version": "beta"}, "produces": ["application/json"], "consumes": ["application/json"], "securityDefinitions": {"Bearer": {"type": "apiKey", "in": "header", "name": "Authorization"}}, "tags": [{"name": "users", "description": "user related operations"}, {"name": "auth", "description": "authentication related operations"}, {"name": "mws/orders", "description": "amazon mws order related operations"}, {"name": "customers", "description": "customer related operations"}, {"name": "orders", "description": "order related operations"}, {"name": "products", "description": "product related operations"}, {"name": "marketplaces", "description": "marketplace related operations"}, {"name": "sellers", "description": "seller related operations"}, {"name": "profiles", "description": "ad profile related operations"}, {"name": "stripe", "description": "stripe related operations"}, {"name": "credits", "description": "Credit balance + transaction ledger for credits-based pricing (issue #154)"}, {"name": "goals", "description": "goal related operations"}, {"name": "analytics", "description": "analytics related operations"}, {"name": "portfolios", "description": "portfolio related operations"}, {"name": "brands", "description": "brand related operations"}, {"name": "leads", "description": "lead related operations"}, {"name": "partners", "description": "partner related operations"}, {"name": "review-automation", "description": "review automation related operations"}, {"name": "gpsr-document", "description": "GPSR document related operations"}, {"name": "product-gpsr-document", "description": "Product GPSR document related operations"}, {"name": "members", "description": "company membership operations"}, {"name": "walmart", "description": "Walmart Connect operations (autron-agent#384)"}], "definitions": {"user": {"properties": {"public_id": {"type": "string", "description": "user public identifier"}, "firstname": {"type": "string", "description": "user firstname"}, "lastname": {"type": "string", "description": "user lastname"}, "company": {"$ref": "#/definitions/company"}, "phone": {"type": "string", "description": "user phone"}, "email": {"type": "string", "description": "user email address"}, "admin": {"type": "string", "description": "user type boolean"}, "registered_at": {"type": "string", "format": "date-time", "description": "user registration timestamp"}, "email_verified": {"type": "boolean", "description": "user email verified boolean"}, "avatar_url": {"type": "string", "description": "user profile picture URL"}, "primary_seller": {"$ref": "#/definitions/seller"}, "allowed_seller_public_ids": {"type": "array", "items": {"type": "string"}}, "intercom_identity_verification_hash": {"type": "string", "description": "intercom identity verification hash"}, "hear_from": {"type": "string", "description": "autron heared from"}, "reason_to_use": {"type": "string", "description": "reason to use autron"}, "signup_source": {"type": "string", "description": "app the signup came through (agent/dashboard); null = legacy"}, "has_password": {"type": "boolean", "description": "password sign-in is usable (False = OAuth placeholder hash or no hash, #382)"}, "oauth_providers": {"type": "array", "description": "identity providers linked to this user (user_oauth_account)", "items": {"type": "string"}}}, "type": "object"}, "company": {"properties": {"public_id": {"type": "string", "description": "unique company public id"}, "name": {"type": "string", "description": "company name"}, "stripe_customer_id": {"type": "string", "description": "user stripe customer id"}, "stripe_subscription_items": {"type": "array", "items": {"$ref": "#/definitions/stripe_subscription_item"}}, "managing_company": {"$ref": "#/definitions/company"}, "users": {"type": "array", "items": {"$ref": "#/definitions/user"}}}, "type": "object"}, "stripe_subscription_item": {"properties": {"subscription": {"type": "string", "description": "Unique id of stripe subscription object"}, "subscription_status": {"type": "string", "description": "Possible values are incomplete, incomplete_expired, trialing, active, past_due, canceled, or unpaid"}, "subscription_current_period_end": {"type": "string", "format": "date-time", "description": "End of the current period that the subscription has been invoiced for. At the end of this period, a new invoice will be created."}, "subscription_cancel_at_period_end": {"type": "boolean", "description": "If the subscription has been canceled with the at_period_end flag set to true, cancel_at_period_end on the subscription will be true"}, "subscription_cancel_at": {"type": "string", "format": "date-time", "description": "If the subscription has been canceled with the at_period_end flag set to true, cancel_at_period_end on the subscription will be true"}, "subscription_trial_start": {"type": "string", "format": "date-time", "description": "The start date of the trial period for the subscription. This timestamp represents when the trial period begins, or null if there is no trial period set."}, "subscription_trial_end": {"type": "string", "format": "date-time", "description": "The end date of the trial period for the subscription. This timestamp represents when the trial period ends, or null if there is no trial period set."}, "price_id": {"type": "string", "description": "Unique identifier for price object."}, "price_unit_amount": {"type": "integer", "description": "The unit amount in cents to be charged"}, "price_currency": {"type": "string", "description": "Three-letter ISO currency code, in lowercase"}, "price_billing_scheme": {"type": "string", "description": "Describes how to compute the price per period, either per_unit or tiered"}, "price_recurring_interval": {"type": "string", "description": "The frequency at which a subscription is billed. One of day, week, month or year"}, "price_recurring_interval_count": {"type": "integer", "description": "The number of intervals (specified in the interval attribute) between subscription billings For example, interval=month and interval_count=3 bills every 3 months."}, "price_recurring_usage_type": {"type": "string", "description": "How the quantity per period should be determined, either metered or licensed"}, "price_product_name": {"type": "string", "description": "The product\u2019s name, meant to be displayable to the customer"}}, "type": "object"}, "seller": {"properties": {"profiles": {"type": "array", "items": {"$ref": "#/definitions/profile"}}, "mws_auth_token": {"type": "string", "description": "seller mws auth token"}, "refresh_token": {"type": "string", "description": "seller auth refresh token"}, "spapi_access": {"type": "boolean", "description": "seller sp api access"}, "spapi_access_refreshed_at": {"type": "string", "format": "date-time", "description": "seller sp api access last refreshed"}, "company": {"$ref": "#/definitions/company"}, "global_goals": {"type": "object"}, "ppc_audit_completed_at": {"type": "string", "format": "date-time", "description": "PPC audit completion time"}, "event": {"type": "string", "description": "event"}, "primary_marketplace_id": {"type": "string", "description": "primary marketplaceId"}, "neon_name": {"type": "string", "description": "Neon database name"}, "neon_project_id": {"type": "string", "description": "Neon project ID"}, "neon_connection_string": {"type": "string", "description": "Neon database connection string"}}, "type": "object"}, "profile": {"properties": {"public_id": {"type": "string", "description": "unique ad profile public id"}, "profile_id": {"type": "integer", "description": "amazon ad profile id (BigInteger)"}, "account_info_marketplace_string_id": {"type": "string", "description": "ad profile account marketplace id"}, "account_info_id": {"type": "string", "description": "ad profile account id"}, "account_info_type": {"type": "string", "description": "ad profile account type"}, "account_info_name": {"type": "string", "description": "ad profile account name"}, "account_info_sub_type": {"type": "string", "description": "ad profile account sub type"}, "adapi_access": {"type": "boolean", "description": "advertising api access"}, "ads_consent_date": {"type": "string", "format": "date-time", "description": "Amazon Ads OAuth consent timestamp"}, "ads_refresh_expires_at": {"type": "string", "format": "date-time", "description": "Amazon Ads refresh token expiry (consent + 365d)"}}, "type": "object"}, "customer": {"required": ["buyer_email", "email", "manychat_subscriber_id", "phone", "public_id"], "properties": {"id": {"type": "integer", "description": "customer identifier"}, "public_id": {"type": "string", "description": "customer public identifier"}, "first_name": {"type": "string", "description": "customer first name"}, "last_name": {"type": "string", "description": "customer last name"}, "phone": {"type": "string", "description": "customer phone number"}, "email": {"type": "string", "description": "customer email address"}, "type": {"type": "string", "description": "customer type: consumer, business"}, "buyer_email": {"type": "string", "description": "amazon customer buyer email address"}, "buyer_name": {"type": "string", "description": "amazon customer buyer name"}, "buyer_phone_number": {"type": "string", "description": "amazon customer buyer phone number"}, "recipient_name": {"type": "string", "description": "amazon customer recipient name"}, "ship_phone_number": {"type": "string", "description": "amazon customer shipping phone number"}, "ship_address_1": {"type": "string", "description": "amazon customer shipping address 1"}, "ship_address_2": {"type": "string", "description": "amazon customer shipping address 2"}, "ship_address_3": {"type": "string", "description": "amazon customer shipping address 3"}, "ship_city": {"type": "string", "description": "amazon customer shipping city"}, "ship_state": {"type": "string", "description": "amazon customer shipping state"}, "ship_postal_code": {"type": "string", "description": "amazon customer shipping zip code"}, "ship_country": {"type": "string", "description": "amazon customer shipping country"}, "manychat_subscriber_id": {"type": "string", "description": "customer manychat subscriber id"}, "attribution_date": {"type": "string", "format": "date-time", "description": "customer first order timestamp with timezone"}, "attribution_channel": {"type": "string", "description": "customer first order attribution channel"}, "attribution_campaign": {"type": "string", "description": "customer first order attribution campaign"}, "attribution_code": {"type": "string", "description": "customer first order attribution promo code"}, "attribution_query": {"type": "string", "description": "customer first order attribution amazon ppc search query"}, "attribution_keyword": {"type": "string", "description": "customer first order attribution amazon ppc keyword"}, "attribution_target": {"type": "string", "description": "customer first order attribution amazon ppc target product"}, "attribution_cost": {"type": "number", "description": "customer first order attribution cost"}, "rfm_recency_date": {"type": "string", "format": "date-time", "description": "customer rfm segmentation last order timestamp with timezone"}, "rfm_frequency": {"type": "number", "description": "customer rfm segmentation total order count"}, "rfm_monetary": {"type": "number", "description": "customer rfm segmentation total (net) spend"}, "rfm_segment": {"type": "string", "description": "customer rfm segment"}, "seller_selling_partner_id": {"type": "string", "description": "amazon seller id"}, "marketplace_marketplace_id": {"type": "string", "description": "amazon marketplace id"}}, "type": "object"}, "order": {"required": ["public_id"], "properties": {"public_id": {"type": "string", "description": "unique order public id"}, "amazon_order_id": {"type": "string", "description": "amazon fba order id"}, "merchant_order_id": {"type": "string", "description": "amazon merchant order id"}, "payments_date": {"type": "string", "format": "date-time", "description": "amazon order payment timestamp with timezone"}, "purchase_date": {"type": "string", "format": "date-time", "description": "amazon order purchase timestamp with timezone"}, "reporting_date": {"type": "string", "format": "date-time", "description": "amazon order reporting timestamp with timezone"}, "bill_address_1": {"type": "string", "description": "amazon order billing address 1"}, "bill_address_2": {"type": "string", "description": "amazon order billing address 2"}, "bill_address_3": {"type": "string", "description": "amazon order billing address 3"}, "bill_city": {"type": "string", "description": "amazon order billing city"}, "bill_state": {"type": "string", "description": "amazon order billing state"}, "bill_postal_code": {"type": "string", "description": "amazon order billing zip code"}, "bill_country": {"type": "string", "description": "amazon order billing country"}, "currency": {"type": "string", "description": "amazon order currency"}, "fulfillment_channel": {"type": "string", "description": "amazon order fulfillment channel"}, "sales_channel": {"type": "string", "description": "amazon order sales channel"}, "ship_service_level": {"type": "string", "description": "amazon order shipping service level"}, "recipient_name": {"type": "string", "description": "amazon order recipient name"}, "ship_phone_number": {"type": "string", "description": "amazon order shipping phone number"}, "ship_address_1": {"type": "string", "description": "amazon order shipping address 1"}, "ship_address_2": {"type": "string", "description": "amazon order shipping address 2"}, "ship_address_3": {"type": "string", "description": "amazon order shipping address 3"}, "ship_city": {"type": "string", "description": "amazon order shipping city"}, "ship_state": {"type": "string", "description": "amazon order shipping state"}, "ship_postal_code": {"type": "string", "description": "amazon order shipping zip code"}, "ship_country": {"type": "string", "description": "amazon order shipping country"}, "item_total": {"type": "number", "description": "amazon order item total"}, "tax_total": {"type": "number", "description": "amazon order tax total"}, "promotion_total": {"type": "number", "description": "amazon order promotion total"}, "shipping_total": {"type": "number", "description": "amazon order shipping total"}, "grand_total": {"type": "number", "description": "amazon order grand total"}, "gross_total": {"type": "number", "description": "amazon order internal gross total (= item_total)"}, "net_total": {"type": "number", "description": "amazon order internal net total (= item_total - item_promotion_total)"}, "customer_id": {"type": "string", "description": "customer identifier"}, "seller_selling_partner_id": {"type": "string", "description": "amazon seller id"}, "marketplace_marketplace_id": {"type": "string", "description": "amazon marketplace id"}, "items": {"type": "array", "items": {"$ref": "#/definitions/item"}}}, "type": "object"}, "item": {"properties": {"amazon_order_item_id": {"type": "string", "description": "amazon fba order item id"}, "merchant_order_item_id": {"type": "string", "description": "amazon merchant order item id"}, "item_price": {"type": "number", "description": "amazon order item price"}, "item_tax": {"type": "number", "description": "amazon order item tax"}, "item_promotion_discount": {"type": "number", "description": "amazon order item promotion discount"}, "ship_promotion_discount": {"type": "number", "description": "amazon order shipping promotion discount"}, "gift_wrap_price": {"type": "number", "description": "amazon order item gift wrap price"}, "gift_wrap_tax": {"type": "number", "description": "amazon order item gift wrap tax"}, "shipping_price": {"type": "number", "description": "amazon order item shipping price"}, "shipping_tax": {"type": "number", "description": "amazon order item shipping tax"}, "product_name": {"type": "string", "description": "amazon order item product name"}, "product_sku": {"type": "string", "description": "amazon merchant order item product sku"}, "carrier": {"type": "string", "description": "amazon order item carrier"}, "fulfillment_center_id": {"type": "string", "description": "amazon order item fulfillment center id"}, "estimated_arrival_date": {"type": "string", "format": "date-time", "description": "amazon order item estimated arrival timestamp with timezone"}, "shipment_date": {"type": "string", "format": "date-time", "description": "amazon order item shipment timestamp with timezone"}, "quantity_shipped": {"type": "number", "description": "amazon order item quantity"}, "shipment_id": {"type": "string", "description": "amazon order item shipment id"}, "shipment_item_id": {"type": "string", "description": "amazon order item shipment item id"}, "tracking_number": {"type": "string", "description": "amazon order item tracking number"}, "order_id": {"type": "string", "description": "order identifier"}, "seller_selling_partner_id": {"type": "string", "description": "amazon seller id"}, "marketplace_marketplace_id": {"type": "string", "description": "amazon marketplace id"}}, "type": "object"}, "product": {"required": ["asin", "sku"], "properties": {"public_id": {"type": "string", "description": "unique product public id"}, "sku": {"type": "string", "description": "unique product sku"}, "asin": {"type": "string", "description": "unique product asin"}, "parent_asin": {"type": "string", "description": "asin of parent product"}, "product_name": {"type": "string", "description": "product name"}, "brand": {"type": "string", "description": "product brand"}, "seller_selling_partner_id": {"type": "string", "description": "amazon seller id"}, "marketplace_marketplace_id": {"type": "string", "description": "amazon marketplace id"}, "product_gpsr_document": {"type": "object"}}, "type": "object"}, "product_cost": {"required": ["cost_of_goods_per_unit", "effective_from", "shipping_cost_per_unit"], "properties": {"public_id": {"type": "string", "description": "product cost public id"}, "cost_of_goods_per_unit": {"type": "number", "description": "product cost of goods per unit"}, "shipping_cost_per_unit": {"type": "number", "description": "product shipping cost per unit"}, "misc_cost_per_unit": {"type": "number", "description": "product miscellaneous cost per unit"}, "total_cost_per_unit": {"type": "number", "description": "product total cost per unit"}, "effective_from": {"type": "string", "format": "date-time", "description": "product cost effective from datetime"}, "effective_to": {"type": "string", "format": "date-time", "description": "product cost effective to datetime"}, "state": {"type": "string", "description": "product cost state: [enabled, disabled, archived]"}}, "type": "object"}, "marketplace": {"required": ["marketplace_id"], "properties": {"marketplace_id": {"type": "string", "description": "amazon marketplace id"}, "region": {"type": "string", "description": "amazon marketplace region full name"}, "region_code": {"type": "string", "description": "amazon marketplace region code"}, "country": {"type": "string", "description": "amazon marketplace country full name"}, "country_code": {"type": "string", "description": "amazon marketplace country code"}, "currency_code": {"type": "string", "description": "amazon marketplace currency code"}, "timezone": {"type": "string", "description": "amazon marketplace timezone"}, "sales_channel": {"type": "string", "description": "amazon marketplace sales channel domain"}, "currency_to_usd": {"type": "number", "description": "current conversion rate from amazon marketplace currency to USD"}}, "type": "object"}, "paginated_products": {"properties": {"products": {"type": "array", "items": {"$ref": "#/definitions/product"}}, "page": {"type": "integer", "description": "the current pagination page number (1 indexed)"}, "per_page": {"type": "integer", "description": "the number of items to be displayed on a page."}, "pages": {"type": "integer", "description": "the total number of pagination pages"}, "total": {"type": "integer", "description": "the total number of items matching the query"}}, "type": "object"}, "product_financials_paginated": {"properties": {"products": {"type": "array", "items": {"$ref": "#/definitions/product_financials"}}, "page": {"type": "integer", "description": "the current pagination page number (1 indexed)"}, "per_page": {"type": "integer", "description": "the number of items to be displayed on a page."}, "pages": {"type": "integer", "description": "the total number of pagination pages"}, "total": {"type": "integer", "description": "the total number of items matching the query"}}, "type": "object"}, "product_financials": {"required": ["asin", "sku"], "properties": {"public_id": {"type": "string", "description": "unique product public id"}, "asin": {"type": "string", "description": "unique product asin"}, "sku": {"type": "string", "description": "unique product sku"}, "your_price": {"type": "number", "description": "product price"}, "price": {"type": "number", "description": "product price from listing"}, "profit": {"type": "number", "description": "current product profit cost per unit"}}, "type": "object"}, "paginated_goals": {"properties": {"goals": {"type": "array", "items": {"$ref": "#/definitions/goal"}}, "page": {"type": "integer", "description": "the current pagination page number (1 indexed)"}, "per_page": {"type": "integer", "description": "the number of items to be displayed on a page."}, "pages": {"type": "integer", "description": "the total number of pagination pages"}, "total": {"type": "integer", "description": "the total number of items matching the query"}, "product_goal_on": {"type": "string", "description": "provides a state to check if there is an active goal"}}, "type": "object"}, "goal": {"properties": {"public_id": {"type": "string", "description": "unique goal public id"}, "objective": {"type": "string", "description": "goal objective, options: maximize_sales, maximize_profit"}, "strategy": {"type": ["string", "null"], "description": "goal strategy, options: minimum_net_profit, maximum_acos, maximum_daily_budget", "example": "nullable string"}, "strategy_value": {"type": ["number", "null"], "description": "goal strategy target/constraint value", "example": "nullable float"}, "type": {"type": "string", "description": "goal type, options: global, product, campaign"}, "product_asin": {"type": "string", "description": "associated asin for goals of type product"}, "product_name": {"type": "string", "description": "associated name for goals of type product"}, "product_sku": {"type": "string", "description": "associated sku for goals of type product"}, "product_price": {"type": "string", "description": "associated price for goals of type product"}, "product_profit": {"type": "string", "description": "associated profit for goals of type product"}, "product_your_price": {"type": "string", "description": "associated your price for goals of type product"}, "product_public_id": {"type": "string", "description": "product public id"}, "product_parent_asin": {"type": "string", "description": "asin of parent product if product is child variant"}, "state": {"type": "string", "description": "goal state, options: enabled, disabled, archived"}, "use_global_public_id": {"type": ["string", "null"], "description": "global goal public id for product goals which use global settings", "example": "nullable string"}, "seller_selling_partner_id": {"type": "string", "description": "goal amazon seller id"}, "marketplace_marketplace_id": {"type": "string", "description": "goal amazon marketplace id"}, "profile_profile_id": {"type": "integer", "description": "goal amazon advertiser profile id"}, "campaign_type": {"type": "string", "description": "amazon campaign types associated with goal"}, "turbo_mode": {"type": "string", "description": "goal turbo_mode, options: enabled, disabled, archived"}, "product_total_cost": {"type": ["number", "null"], "description": "associated total cost for goals of type product", "example": "nullable float"}, "product_estimated_fee_total": {"type": ["number", "null"], "description": "associated total amazon fee for goals of type product", "example": "nullable float"}, "product_targets": {"type": "object"}, "product_group": {"type": "string", "description": "listing product group"}, "product_type": {"type": "string", "description": "listing product type"}, "product_type_keyword": {"type": "string", "description": "listing product type keyword"}, "product_sales_ranks": {"type": "object", "description": "amazon catalog product sales ranks"}, "created_at": {"type": "string", "format": "date-time", "description": "goal creation timestamp"}, "updated_at": {"type": "string", "format": "date-time", "description": "goal last updated timestamp"}, "product_brand": {"type": "string", "description": "listing product brand"}}, "type": "object"}, "new_product_goals": {"properties": {"new_product_goals": {"type": "array", "items": {"type": "string", "description": "associated asin for goals of type product"}}}, "type": "object"}, "paginated_brands": {"properties": {"brands": {"type": "array", "items": {"$ref": "#/definitions/brand"}}, "page": {"type": "integer", "description": "the current pagination page number (1 indexed)"}, "per_page": {"type": "integer", "description": "the number of items to be displayed on a page."}, "pages": {"type": "integer", "description": "the total number of pagination pages"}, "total": {"type": "integer", "description": "the total number of items matching the query"}}, "type": "object"}, "brand": {"required": ["public_id"], "properties": {"public_id": {"type": "string", "description": "unique brand public id"}, "brand_id": {"type": "string", "description": "amazon brand id"}, "brand_entity_id": {"type": "string", "description": "amazon brand entity id"}, "brand_registry_name": {"type": "string", "description": "amazon brand registry name"}, "logo_url": {"type": "string", "description": "amazon store asset logo url for brand"}, "store_assets": {"type": "array", "items": {"$ref": "#/definitions/store_asset"}}, "media": {"type": "array", "items": {"$ref": "#/definitions/media"}}}, "type": "object"}, "store_asset": {"required": ["public_id"], "properties": {"public_id": {"type": "string", "description": "unique brand store asset public id"}, "asset_id": {"type": "string", "description": "amazon brand store asset id"}, "media_type": {"type": "string", "description": "amazon brand store asset media type"}, "url": {"type": "string", "description": "amazon brand store asset url"}, "name": {"type": "string", "description": "amazon brand store asset file name"}, "created_at": {"type": "string", "format": "date-time", "description": "amazon brand store asset created at datetime"}, "brand_brand_entity_id": {"type": "string", "description": "amazon brand entity id"}}, "type": "object"}, "media": {"required": ["public_id"], "properties": {"public_id": {"type": "string", "description": "unique brand store asset public id"}, "media_id": {"type": "string", "description": "amazon media id"}, "program_type": {"type": "string", "description": "amazon ads program/campaign type"}, "creative_type": {"type": "string", "description": "amazon creative type"}, "filename": {"type": "string", "description": "amazon media upload filename"}, "version_id": {"type": "string", "description": "amazon media version id"}, "status": {"type": "string", "description": "amazon media status"}, "status_meta_code": {"type": "string", "description": "amazon media failed status meta code"}, "status_meta_message": {"type": "string", "description": "amazon media failed status meta message"}, "published_media_url": {"type": "string", "description": "amazon hosted media url"}, "original_media_url": {"type": "string", "description": "amazon original media url"}, "brand_brand_entity_id": {"type": "string", "description": "amazon brand entity id"}, "state": {"type": "string", "description": "media state"}, "created_at": {"type": "string", "format": "date-time", "description": "media created at datetime"}, "product_asins": {"type": "object"}, "creative_asset_id": {"type": "string", "description": "amazon creative asset id"}, "creative_asset_version_id": {"type": "string", "description": "amazon creative asset version id"}}, "type": "object"}, "paginated_goals_ext": {"properties": {"goals": {"type": "array", "items": {"$ref": "#/definitions/goal"}}, "page": {"type": "integer", "description": "the current pagination page number (1 indexed)"}, "per_page": {"type": "integer", "description": "the number of items to be displayed on a page."}, "pages": {"type": "integer", "description": "the total number of pagination pages"}, "total": {"type": "integer", "description": "the total number of items matching the query"}}, "type": "object"}, "bulk_create_goals": {"required": ["marketplace_marketplace_id", "product_asins", "profile_profile_id", "seller_selling_partner_id"], "properties": {"seller_selling_partner_id": {"type": "string", "description": "goal amazon seller id"}, "marketplace_marketplace_id": {"type": "string", "description": "goal amazon marketplace id"}, "profile_profile_id": {"type": "integer", "description": "goal amazon advertiser profile id"}, "product_asins": {"type": "array", "description": "ASINs to create product goals for (at most 500; duplicates count once)", "items": {"type": "string"}}, "objective": {"type": "string", "description": "target objective, options: maximize_sales, maximize_profit \u2014 omit with strategy and strategy_value to inherit the account-wide goal's target"}, "strategy": {"type": ["string", "null"], "description": "target strategy, options: maximum_acos, maximum_tacos", "example": "nullable string"}, "strategy_value": {"type": ["number", "null"], "description": "target value (fraction)", "example": "nullable float"}, "turbo_mode": {"type": "string", "description": "enabled | disabled"}, "state": {"type": "string", "description": "enabled (default) | disabled \u2014 created switched off"}}, "type": "object"}, "analytics_embed": {"properties": {"status": {"type": "string", "description": "response status success or fail"}, "message": {"type": "string", "description": "response message"}, "iframe_url": {"type": "string", "description": "analytics embedding url"}}, "type": "object"}, "analytics_card": {"properties": {"status": {"type": "string", "description": "response status success or fail"}, "message": {"type": "string", "description": "response message"}, "data": {"type": "array", "items": {"type": "array", "items": {"$ref": "#/definitions/chart_series"}}}, "filters": {"type": "array", "items": {"$ref": "#/definitions/analytics_field"}}}, "type": "object"}, "chart_series": {"properties": {"primary_meta": {"$ref": "#/definitions/chart_series_primary_meta"}, "secondary_meta": {"$ref": "#/definitions/chart_series_secondary_meta"}, "data": {"type": "array", "items": {"$ref": "#/definitions/chart_series_data"}}}, "type": "object"}, "chart_series_primary_meta": {"properties": {"full_name": {"type": "string"}, "abbreviation": {"type": "string"}, "description": {"type": "string"}, "format_to": {"type": "string"}, "positive_trend": {"type": "string"}}, "type": "object"}, "chart_series_secondary_meta": {"properties": {"full_name": {"type": "string"}, "abbreviation": {"type": "string"}, "description": {"type": "string"}, "format_to": {"type": "string"}, "positive_trend": {"type": "string"}, "target_for_full_name": {"type": "string"}}, "type": "object"}, "chart_series_data": {"properties": {"primary": {"type": "object"}, "primary_norm": {"type": "object"}, "secondary": {"type": "object"}, "secondary_norm": {"type": "object"}}, "type": "object"}, "analytics_field": {"properties": {"id": {"type": "string"}, "name": {"type": "string"}, "description": {"type": "string"}, "type": {"type": "string"}, "options": {"type": "array", "items": {"$ref": "#/definitions/analytics_field_option"}}, "field_id": {"type": "integer"}}, "type": "object"}, "analytics_field_option": {"properties": {"value": {"type": "string"}, "label": {"type": "string"}}, "type": "object"}, "analytics_field_values": {"properties": {"status": {"type": "string", "description": "response status success or fail"}, "message": {"type": "string", "description": "response message"}, "fields": {"type": "array", "items": {"$ref": "#/definitions/analytics_field_value"}}}, "type": "object"}, "analytics_field_value": {"properties": {"field_id": {"type": "integer"}, "options": {"type": "array", "items": {"$ref": "#/definitions/analytics_field_option"}}}, "type": "object"}, "paginated_portfolios": {"properties": {"portfolios": {"type": "array", "items": {"$ref": "#/definitions/portfolio"}}, "page": {"type": "integer", "description": "the current pagination page number (1 indexed)"}, "per_page": {"type": "integer", "description": "the number of items to be displayed on a page."}, "pages": {"type": "integer", "description": "the total number of pagination pages"}, "total": {"type": "integer", "description": "the total number of items matching the query"}}, "type": "object"}, "portfolio": {"required": ["active_from", "public_id", "state"], "properties": {"public_id": {"type": "string", "description": "unique portfolio public id"}, "portfolio_id": {"type": "integer", "description": "amazon ad portfolio id (BigInteger)"}, "name": {"type": "string", "description": "portfolio name"}, "budget_amount": {"type": "number", "description": "portfolio budget amount"}, "budget_currency_code": {"type": "string", "description": "portfolio budget currency code"}, "budget_policy": {"type": "string", "description": "portfolio budget policy"}, "budget_start_date": {"type": "string", "description": "portfolio budget start date"}, "budget_end_date": {"type": "string", "description": "portfolio budget end date"}, "in_budget": {"type": "boolean", "description": "portfolio in budget state on amazon"}, "state": {"type": "string", "description": "portfolio state on amazon, only enabled currently supported"}, "creation_date": {"type": "integer", "description": "portfolio creation date on amazon"}, "last_updated_date": {"type": "integer", "description": "portfolio last updated date on amazon"}, "serving_status": {"type": "string", "description": "portfolio serving status on amazon"}, "type": {"type": "string", "description": "portfolio type, auto or manual"}, "active_from": {"type": "string", "format": "date-time", "description": "portfolio active from date, only 1 active portfolio per type"}, "active_to": {"type": "string", "format": "date-time", "description": "portfolio active to date, all campaigns paused if in past"}, "move_previous_active_campaigns": {"type": "boolean", "description": "move/associate campaigns from previously active portfolio"}, "seller_selling_partner_id": {"type": "string", "description": "portfolio amazon seller id"}, "marketplace_marketplace_id": {"type": "string", "description": "portfolio amazon marketplace id"}, "profile_profile_id": {"type": "integer", "description": "portfolio amazon advertiser profile id"}}, "type": "object"}, "lead": {"properties": {"public_id": {"type": "string", "description": "lead public identifier"}, "firstname": {"type": "string", "description": "lead firstname"}, "lastname": {"type": "string", "description": "lead lastname"}, "phone": {"type": "string", "description": "lead phone"}, "email": {"type": "string", "description": "lead email address"}, "company_name": {"type": "string", "description": "lead company name"}, "segment_event": {"type": "string", "description": "name of segment event associated with lead"}, "marketplace": {"type": "string", "description": "name of marketplace"}, "business_type": {"type": "string", "description": "type of business"}, "seller_public_id": {"type": "string", "description": "business type"}, "monthly_ad_budget": {"type": "string", "description": "monthly ad budget"}, "category": {"type": "string", "description": "category of business"}}, "type": "object"}, "review_automation": {"properties": {"public_id": {"type": "string", "description": "review_automation public identifier"}, "state": {"type": "string", "description": "review_automation state whether enabled or disabled"}, "solicitation_delay": {"type": "integer", "description": "Number of days before sending the solicitation."}, "seller_selling_partner_id": {"type": "string", "description": "Seller identifier"}, "marketplace_marketplace_id": {"type": "string", "description": "Marketplace identifier"}, "profile_profile_id": {"type": "integer", "description": "Profile identifier"}}, "type": "object"}, "paginated_gpsr": {"properties": {"gpsr": {"type": "array", "items": {"$ref": "#/definitions/gpsr_document"}}, "page": {"type": "integer", "description": "the current pagination page number (1 indexed)"}, "per_page": {"type": "integer", "description": "the number of items to be displayed on a page."}, "pages": {"type": "integer", "description": "the total number of pagination pages"}, "total": {"type": "integer", "description": "the total number of items matching the query"}}, "type": "object"}, "gpsr_document": {"properties": {"public_id": {"type": "string", "description": "GPSR document public ID"}, "seller_id": {"type": "string", "description": "Seller identifier"}, "type": {"type": "string", "description": "Product ad target type: [patient_fact_sheet, provider_fact_sheet, installation_manual, instructions_for_use, user_guide, user_manual, safety_information]"}, "marketplace": {"type": "object", "description": "List of marketplaces associated with the document"}, "url": {"type": "string", "description": "GPSR document public url"}, "status": {"type": "string", "description": "Status of the document"}, "created_at": {"type": "string", "format": "date-time", "description": "GPSR document timestamp"}, "updated_at": {"type": "string", "format": "date-time", "description": "GPSR document last updated timestamp"}}, "type": "object"}, "gpsr_options": {"properties": {"gpsr": {"type": "array", "items": {"$ref": "#/definitions/gpsr_document"}}}, "type": "object"}, "walmart_advertiser": {"properties": {"public_id": {"type": "string", "description": "unique walmart advertiser public id"}, "walmart_seller_public_id": {"type": "string", "description": "public id of the company's Walmart root"}, "advertiser_id": {"type": "string", "description": "Walmart Advertiser ID as shown in Ad Center (Admin > Advertiser)"}, "advertiser_name": {"type": "string", "description": "customer-entered label, optional"}, "advertiser_type": {"type": "string", "description": "'3p' / '1p' from the Advertiser Attributes report; null until synced"}, "permission_type": {"type": "string", "description": "partner permission from the access report (campaign_management / reporting_only); null until synced"}, "access_status": {"type": "string", "description": "pending (claimed, not yet granted) | active (a signed call returned 200) | revoked (was active, now 'do not have access')"}, "claimed_at": {"type": "string", "format": "date-time", "description": "when the customer claimed the id"}, "confirmed_at": {"type": "string", "format": "date-time", "description": "when a probe first returned 200"}, "last_probe_at": {"type": "string", "format": "date-time", "description": "last signed probe for this advertiser"}, "last_probe_status": {"type": "string", "description": "ok | not_granted | http_<status> | transport_error"}, "last_error": {"type": "string", "description": "body / error excerpt of the last failed probe"}, "report_date": {"type": "string", "format": "date", "description": "reportDate of the Advertiser Attributes report row this advertiser was last seen in; null until synced"}, "daily_spend_ceiling": {"type": ["number", "null"], "description": "dollars per day above which the agent asks the seller first; null when none is agreed. Stored only: nothing enforces it", "example": "nullable float"}}, "type": "object"}, "walmart_check_result": {"properties": {"advertiser": {"$ref": "#/definitions/walmart_advertiser"}, "probe": {"$ref": "#/definitions/walmart_probe"}}, "type": "object"}, "walmart_probe": {"properties": {"status": {"type": "string", "description": "ok | not_granted | http_error | transport_error | unconfigured (no Walmart credentials on this environment)"}, "http_status": {"type": "integer", "description": "HTTP status of the probe, null when none was made"}, "message": {"type": "string", "description": "human-readable outcome, null on ok"}}, "type": "object"}, "walmart_advertiser_ceiling_request": {"required": ["daily_spend_ceiling"], "properties": {"daily_spend_ceiling": {"type": ["number", "null"], "description": "dollars per day, above 0 and at most 1,000,000, rounded to cents; null removes it", "example": "nullable float"}}, "type": "object"}, "walmart_goal": {"properties": {"public_id": {"type": "string", "description": "unique goal public id"}, "platform": {"type": "string", "description": "always 'walmart' here"}, "walmart_advertiser_public_id": {"type": "string", "description": "the advertiser this goal governs"}, "walmart_item_id": {"type": "string", "description": "the Walmart item ID the goal is set on"}, "objective": {"type": "string", "description": "maximize_sales"}, "strategy": {"type": "string", "description": "maximum_acos or maximum_daily_budget"}, "strategy_value": {"type": "number", "description": "the ACoS ceiling (as a percentage) or the daily budget"}, "state": {"type": "string", "description": "enabled | disabled"}, "turbo_mode": {"type": "string", "description": "disabled \u2014 no Walmart implementation yet"}, "created_at": {"type": "string", "format": "date-time"}, "updated_at": {"type": "string", "format": "date-time"}}, "type": "object"}, "walmart_goal_request": {"required": ["objective", "strategy", "strategy_value"], "properties": {"objective": {"type": "string", "description": "maximize_sales (maximize_profit needs costs)"}, "strategy": {"type": "string", "description": "maximum_acos or maximum_daily_budget (minimum_net_profit needs costs)"}, "strategy_value": {"type": "number", "description": "greater than zero; a daily budget (maximum_daily_budget) at least 0.01 while the goal is enabled"}, "state": {"type": "string", "description": "enabled (default) | disabled"}}, "type": "object"}, "walmart_goal_write": {"properties": {"public_id": {"type": "string", "description": "unique goal public id"}, "platform": {"type": "string", "description": "always 'walmart' here"}, "walmart_advertiser_public_id": {"type": "string", "description": "the advertiser this goal governs"}, "walmart_item_id": {"type": "string", "description": "the Walmart item ID the goal is set on"}, "objective": {"type": "string", "description": "maximize_sales"}, "strategy": {"type": "string", "description": "maximum_acos or maximum_daily_budget"}, "strategy_value": {"type": "number", "description": "the ACoS ceiling (as a percentage) or the daily budget"}, "state": {"type": "string", "description": "enabled | disabled"}, "turbo_mode": {"type": "string", "description": "disabled \u2014 no Walmart implementation yet"}, "created_at": {"type": "string", "format": "date-time"}, "updated_at": {"type": "string", "format": "date-time"}, "campaigns": {"type": "array", "description": "when the goal is left disabled, one entry per campaign Autron manages for the item; empty otherwise", "items": {"$ref": "#/definitions/walmart_goal_campaign_outcome"}}, "spend_stopped": {"type": "boolean", "description": "true when every listed campaign is paused (also when there is none); false when one may still spend; null while the goal is enabled"}}, "type": "object"}, "walmart_goal_campaign_outcome": {"properties": {"campaign_id": {"type": "integer", "description": "Walmart campaign id"}, "outcome": {"type": "string", "description": "paused | busy (another change held it) | failed (Walmart refused, or the record failed) | unconfirmed (Walmart may have paused it; the registry is unchanged)"}, "message": {"type": "string", "description": "why it is not paused; null when it is"}}, "type": "object"}, "walmart_item": {"properties": {"item_id": {"type": "string", "description": "Walmart item ID as a string (the number in the item's walmart.com/ip/ URL) \u2014 what a goal binds to"}, "item_name": {"type": "string", "description": "the item's title on walmart.com"}, "item_image_url": {"type": "string", "description": "the item's primary image"}, "item_page_url": {"type": "string", "description": "the item's walmart.com page"}, "suggested_bid": {"type": ["number", "null"], "description": "Walmart's suggested opening bid for the item, or null when it offers none", "example": "nullable float"}, "variant_item_ids": {"type": "array", "description": "item IDs of the item's variants (Walmart's variantItems[].variantItemId); empty when it has none", "items": {"type": "string"}}}, "type": "object"}, "walmart_item_cost": {"properties": {"public_id": {"type": "string", "description": "unique item cost public id"}, "walmart_advertiser_public_id": {"type": "string", "description": "the advertiser (claim) the price belongs to"}, "item_id": {"type": "string", "description": "Walmart item ID as a string (the number in the item's walmart.com/ip/ URL)"}, "price": {"type": "number", "description": "what the item sells for, in dollars, to the cent"}, "price_source": {"type": "string", "description": "manual (the seller entered it); marketplace is reserved for a pulled value"}, "cogs": {"type": ["number", "null"], "description": "reserved: the seller's cost of goods, null until a route writes it", "example": "nullable float"}, "cost_source": {"type": "string", "description": "reserved, null"}, "created_at": {"type": "string", "format": "date-time"}, "updated_at": {"type": "string", "format": "date-time"}}, "type": "object"}, "walmart_item_cost_request": {"required": ["price"], "properties": {"price": {"type": "number", "description": "what the item sells for, in dollars: above 0 and at most 1,000,000, rounded to cents"}}, "type": "object"}, "walmart_campaign_build_request": {"required": ["item_id"], "properties": {"item_id": {"type": "string", "description": "Walmart item ID; a live goal must already be set for it"}, "targeting_type": {"type": "string", "description": "auto (default) | manual"}, "keywords": {"type": "array", "description": "manual targeting only, at least one; bids come from Walmart's keyword_suggestions per match type", "items": {"$ref": "#/definitions/walmart_campaign_keyword"}}, "daily_budget": {"type": "number", "description": "greater than zero; when absent, the goal's daily budget (strategy maximum_daily_budget; a 400 when it can't be used), else 50"}, "state": {"type": "string", "description": "paused (default) | enabled: enabled needs the item's goal on, and enables the campaign once the whole tree exists"}}, "type": "object"}, "walmart_campaign_keyword": {"required": ["text"], "properties": {"text": {"type": "string", "description": "the keyword"}, "match_type": {"type": "string", "description": "exact (default) | phrase | broad"}}, "type": "object"}, "walmart_campaign": {"properties": {"public_id": {"type": "string", "description": "unique registry public id"}, "walmart_advertiser_public_id": {"type": "string", "description": "the advertiser whose account holds the campaign"}, "campaign_id": {"type": "integer", "description": "Walmart's campaign id \u2014 the part a seller cannot rename away"}, "name": {"type": "string", "description": "the name Autron gave it at creation; a label, not the ownership marker"}, "campaign_type": {"type": "string", "description": "sponsoredProducts"}, "targeting_type": {"type": "string", "description": "auto | manual"}, "type": {"type": "string", "description": "auto (Autron AI) | manual (Autron Strategic) \u2014 Autron's management type"}, "goal_public_id": {"type": "string", "description": "the goal this campaign was created to serve"}, "state": {"type": "string", "description": "paused | enabled \u2014 the last state Autron set"}, "created_at": {"type": "string", "format": "date-time"}, "updated_at": {"type": "string", "format": "date-time"}, "unmanaged_at": {"type": "string", "format": "date-time", "description": "when Autron handed the campaign back; null while managed"}}, "type": "object"}, "walmart_campaign_tree": {"properties": {"campaign_id": {"type": "integer", "description": "Walmart campaign id"}, "name": {"type": "string", "description": "Autron | <item_id> | auto, or Autron | <item_id> | manual | <keyword> (the first keyword, cut to fit 255 characters); a label, not what makes it Autron's"}, "state": {"type": "string", "description": "enabled | paused | unknown: what Walmart most likely shows now (unknown: it may have been enabled without confirming, and the safety pause failed; check Ad Center)"}, "requested_state": {"type": "string", "description": "the state the request asked for: paused | enabled"}, "state_message": {"type": "string", "description": "why `state` differs from `requested_state`: Walmart's text, the safety-pause sentence, or that the goal was switched off during the build; or, when the enable landed but recording it failed, what Autron could not record; or, when the goal went off while the enable was in flight, what Autron did about it. Null when the change simply landed, or the build stayed paused as asked"}, "targeting_type": {"type": "string", "description": "auto | manual"}, "registry_public_id": {"type": "string", "description": "public_id of the walmart_campaign row recorded for it"}, "ad_group_id": {"type": "integer"}, "ad_item_id": {"type": "integer"}, "keyword_ids": {"type": "array", "description": "empty for auto", "items": {"type": "integer"}}, "daily_budget": {"type": "number", "description": "the campaign's daily budget, in dollars"}, "daily_budget_source": {"type": "string", "description": "request | goal | default"}}, "type": "object"}, "walmart_campaign_state_request": {"required": ["state"], "properties": {"state": {"type": "string", "description": "paused | enabled"}}, "type": "object"}, "walmart_access_report_result": {"properties": {"status": {"type": "string", "description": "success"}, "report_date": {"type": "string", "description": "latest reportDate among the matched rows"}, "rows": {"type": "integer", "description": "rows received"}, "skipped": {"type": "integer", "description": "rows without a usable advertiser id"}, "seen": {"type": "integer", "description": "claimed advertisers present in the report"}, "activated": {"type": "integer", "description": "claims flipped to active by this report"}, "revoked": {"type": "integer", "description": "active claims absent from the report, now revoked"}, "revocation_skipped": {"type": "boolean", "description": "true when the report had no usable rows, so nothing was revoked"}, "unclaimed": {"type": "array", "description": "advertiser ids in the report that no company has claimed", "items": {"type": "string"}}}, "type": "object"}, "walmart_keyword_analytics_request": {"required": ["item_ids"], "properties": {"item_ids": {"type": "array", "description": "Walmart item ids (numeric strings or numbers), 1 to 20, from the advertiser's own catalog", "items": {"type": ["string", "integer"], "example": "51438480"}}}, "type": "object"}, "walmart_keyword_analytics_row": {"properties": {"item_id": {"type": "string", "description": "the item the query belongs to"}, "normalized_query": {"type": "string", "description": "the query as Walmart normalises it"}, "raw_query": {"type": "string", "description": "the query as shoppers type it"}, "item_keyword_frequency": {"type": "string", "description": "how often the query leads to this item: High | Medium | Low"}, "traffic_keyword_frequency": {"type": "string", "description": "how much search traffic the query carries overall: High | Medium | Low"}}, "type": "object"}}, "responses": {"ParseError": {"description": "When a mask can't be parsed"}, "MaskError": {"description": "When any error occurs on mask"}}}
