{"openapi":"3.1.0","info":{"title":"SimprosysAPIs","description":"E-Commerce Marketing Suite for Platform-Agnostic Merchants</br></br></br>SimprosysAPIs allow merchants to submit their product data through the public APIs. The system then validates, optimizes, and synchronizes this data with various marketing platforms. This product is specifically designed for businesses with custom or self-hosted e-commerce setups – those who have built their online stores using their own technology stack and are looking for additional tools.","version":"1.0"},"paths":{"/api/v1/token/":{"post":{"tags":["Authenticate Application"],"summary":"Token","description":"Generate a JWT access token and refresh token for an application.\n\nAuthenticates the application by verifying the provided client_id and\nclient_secret, checks if the client IP address is authorized, then\ngenerates and stores a JWT token pair.","operationId":"token_api_v1_token__post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplicationToken"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSuccessResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/api/v1/token/refresh/":{"post":{"tags":["Authenticate Application"],"summary":"Generate Access Token Via Refresh Token","description":"Refresh the JWT access token using a valid refresh token.\n\nVerifies the provided refresh token, checks the client IP address,\nand issues a new access token if the refresh token is valid and not expired.","operationId":"generate_access_token_via_refresh_token_api_v1_token_refresh__post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RefreshToken"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/api/v1/products/":{"post":{"tags":["Products"],"summary":"Add Product","description":"Adds or updates a product for a given shop. This function validates the product details,\nincluding checking for duplicates and eligibility of variants, and either creates a new product\nor updates an existing one based on the `upsert` flag.","operationId":"add_product_api_v1_products__post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_add_product_api_v1_products__post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSuccessResponse"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TooManyRequestError"}}}}},"security":[{"HTTPBearer":[]}]},"put":{"tags":["Products"],"summary":"Update Product","description":"Update a product for a specified shop.\n\nThis endpoint updates the details of a product, including its variants.\nIt checks for existing products, validates variant data, and performs\nnecessary updates or raises exceptions if issues are found.","operationId":"update_product_api_v1_products__put","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_update_product_api_v1_products__put"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestDetails"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TooManyRequestError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/{shop_id}/products/":{"get":{"tags":["Products"],"summary":"List Product","description":"Retrieve a list of products for a specific shop.\n\nThis endpoint fetches products from the database associated with the provided `shop_id`,\nand returns a paginated list based on the `skip` and `limit` query parameters.","operationId":"list_product_api_v1__shop_id__products__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"shop_id","in":"path","required":true,"schema":{"anyOf":[{"type":"string","minLength":1},{"type":"integer"}],"title":"Shop Id"}},{"name":"skip","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Skip"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"default":25,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TooManyRequestError"}}},"description":"Too Many Requests"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/{shop_id}/products/{product_id}":{"get":{"tags":["Products"],"summary":"Retrieve Product","description":"Retrieve a specific product and its variants.\n\nThis endpoint fetches a product and its associated variants for a given `product_id` from\nthe shop specified by `shop_id`.","operationId":"retrieve_product_api_v1__shop_id__products__product_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"shop_id","in":"path","required":true,"schema":{"anyOf":[{"type":"string","minLength":1},{"type":"integer"}],"title":"Shop Id"}},{"name":"product_id","in":"path","required":true,"schema":{"type":"string","title":"Product Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}},"description":"Not Found"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TooManyRequestError"}}},"description":"Too Many Requests"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/products/{product_id}":{"delete":{"tags":["Products"],"summary":"Delete Product","description":"Deletes a specific product from a shop.\n\nThis endpoint delete a product based on the provided `product_id`.","operationId":"delete_product_api_v1_products__product_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"product_id","in":"path","required":true,"schema":{"type":"string","title":"Product Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShopId"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}},"description":"Not Found"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TooManyRequestError"}}},"description":"Too Many Requests"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/bulk-products/":{"post":{"tags":["Products"],"summary":"Add Bulk Products","description":"Add or update multiple products in bulk for a given shop.\n\nThis endpoint allows adding or updating multiple products and their variants in bulk.\nThe products are processed to handle duplicates, validate variants, and update existing\nrecords as necessary.","operationId":"add_bulk_products_api_v1_bulk_products__post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_add_bulk_products_api_v1_bulk_products__post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSuccessResponse"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TooManyRequestError"}}}}},"security":[{"HTTPBearer":[]}]},"put":{"tags":["Products"],"summary":"Update Bulk Products","description":"Handles bulk updates for products in a specified shop.\n\nThis endpoint updates multiple products' details based on the provided\n`product_id` and data. It performs various checks to validate the payload,\nhandle duplications, and ensure that variants are correctly mapped and\nupdated.","operationId":"update_bulk_products_api_v1_bulk_products__put","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_update_bulk_products_api_v1_bulk_products__put"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestDetails"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TooManyRequestError"}}}}},"security":[{"HTTPBearer":[]}]},"delete":{"tags":["Products"],"summary":"Delete Bulk Products","description":"Deletes multiple products from a specified shop.\n\nThis endpoint delete multiple products based on the provided\nlist of `product_ids`.","operationId":"delete_bulk_products_api_v1_bulk_products__delete","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_delete_bulk_products_api_v1_bulk_products__delete"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TooManyRequestError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/variants/":{"post":{"tags":["Variants"],"summary":"Add Variant","description":"Adds or updates a product variant for a given product in a specific shop.","operationId":"add_variant_api_v1_variants__post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_add_variant_api_v1_variants__post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSuccessResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TooManyRequestError"}}}}},"security":[{"HTTPBearer":[]}]},"put":{"tags":["Variants"],"summary":"Update Variant","description":"Updates a variant's details for a specified shop.","operationId":"update_variant_api_v1_variants__put","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_update_variant_api_v1_variants__put"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TooManyRequestError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/{shop_id}/products/{product_id}/variants/":{"get":{"tags":["Variants"],"summary":"List Variant","description":"Retrieves a list of variants for a specified product in a given shop.","operationId":"list_variant_api_v1__shop_id__products__product_id__variants__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"shop_id","in":"path","required":true,"schema":{"anyOf":[{"type":"string","minLength":1},{"type":"integer"}],"title":"Shop Id"}},{"name":"product_id","in":"path","required":true,"schema":{"type":"string","title":"Product Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TooManyRequestError"}}},"description":"Too Many Requests"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/{shop_id}/variants/{variant_id}":{"get":{"tags":["Variants"],"summary":"Retrieve Variant","description":"Retrieves a specific variant by its variant_id from a given shop.","operationId":"retrieve_variant_api_v1__shop_id__variants__variant_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"shop_id","in":"path","required":true,"schema":{"anyOf":[{"type":"string","minLength":1},{"type":"integer"}],"title":"Shop Id"}},{"name":"variant_id","in":"path","required":true,"schema":{"type":"string","title":"Variant Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}},"description":"Not Found"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TooManyRequestError"}}},"description":"Too Many Requests"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/variants/{variant_id}":{"delete":{"tags":["Variants"],"summary":"Delete Variant","description":"Delete a variant in the specified shop's product.","operationId":"delete_variant_api_v1_variants__variant_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"variant_id","in":"path","required":true,"schema":{"type":"string","title":"Variant Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShopId"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}},"description":"Not Found"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestDetails"}}},"description":"Bad Request"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TooManyRequestError"}}},"description":"Too Many Requests"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/bulk-variants/":{"post":{"tags":["Variants"],"summary":"Add Bulk Variants","description":"Adds or updates multiple product variants in bulk for a specific shop.","operationId":"add_bulk_variants_api_v1_bulk_variants__post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_add_bulk_variants_api_v1_bulk_variants__post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSuccessResponse"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TooManyRequestError"}}}}},"security":[{"HTTPBearer":[]}]},"put":{"tags":["Variants"],"summary":"Update Bulk Variants","description":"Updates multiple product variants in bulk for a specific shop.","operationId":"update_bulk_variants_api_v1_bulk_variants__put","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_update_bulk_variants_api_v1_bulk_variants__put"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TooManyRequestError"}}}}},"security":[{"HTTPBearer":[]}]},"delete":{"tags":["Variants"],"summary":"Delete Bulk Variants","description":"Bulk delete multiple variants in the specified shop's product.","operationId":"delete_bulk_variants_api_v1_bulk_variants__delete","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_delete_bulk_variants_api_v1_bulk_variants__delete"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TooManyRequestError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/locations/":{"post":{"tags":["Locations"],"summary":"Create Location","description":"Creates a new store location for the given shop. `location_id` must be\nunique per shop; returns a 400 error if a location with the same ID\nalready exists.","operationId":"create_location_api_v1_locations__post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_create_location_api_v1_locations__post"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSuccessResponse"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestDetails"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TooManyRequestError"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"put":{"tags":["Locations"],"summary":"Update Location","description":"Updates an existing store location's name and/or address. Fields\nomitted from the payload are left unchanged. Returns a 404 error if\nno non-deleted location matches `location_id`.","operationId":"update_location_api_v1_locations__put","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_update_location_api_v1_locations__put"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TooManyRequestError"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"delete":{"tags":["Locations"],"summary":"Delete Location","description":"Deletes a store location. Deleted locations are no longer returned\nby the retrieve or list endpoints.\n\n### Note:\n\n1. **Local Inventory Deletion**\n\nIf the location being deleted has local inventory linked to product\nvariants and Google Local Inventory Ads integration has not been set up for that\nlocation, deleting the location will permanently remove all inventory\ndata associated with the location from the variant level.\n\nThis action cannot be undone. Please confirm that the deletion is\nintended before calling the Delete Location API.\n\n2. **Google Local Inventory Ads Store Mapping**\n\nIf the location is currently mapped to a store code in the Google Local Inventory Ads\nintegration settings, the delete request will be rejected to prevent\naccidental mapping removal.\n\nThe API will return the following error:\n\n```This location cannot be deleted because it is currently mapped to a store. Remove the existing mappings before deleting the location.```\n\nTo delete the location, first remove its store code mapping from the\nGoogle Local Inventory Ads integration settings and then retry the request.","operationId":"delete_location_api_v1_locations__delete","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LocationDeleteRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestDetails"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TooManyRequestError"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/{shop_id}/locations/{location_id}":{"get":{"tags":["Locations"],"summary":"Retrieve Location","description":"Retrieves a single store location by `location_id`. Returns a 404\nerror if no matching location exists.","operationId":"retrieve_location_api_v1__shop_id__locations__location_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"shop_id","in":"path","required":true,"schema":{"anyOf":[{"type":"string","minLength":1},{"type":"integer"}],"title":"Shop Id"}},{"name":"location_id","in":"path","required":true,"schema":{"type":"string","title":"Location Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}},"description":"Not Found"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TooManyRequestError"}}},"description":"Too Many Requests"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/{shop_id}/locations/":{"get":{"tags":["Locations"],"summary":"List Locations","description":"Lists all store locations for the given shop.","operationId":"list_locations_api_v1__shop_id__locations__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"shop_id","in":"path","required":true,"schema":{"anyOf":[{"type":"string","minLength":1},{"type":"integer"}],"title":"Shop Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TooManyRequestError"}}},"description":"Too Many Requests"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/local-inventory/":{"post":{"tags":["Local Inventory"],"summary":"Create Local Inventory","description":"Creates local inventory data for a variant, merging incoming\nper-location entries with any existing ones by location_id. If\n`upsert` is True and a record already exists, it is updated instead\nof returning a 400 error.","operationId":"create_local_inventory_api_v1_local_inventory__post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateLocalInventoryBody"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSuccessResponse"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestDetails"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TooManyRequestError"}}}}},"security":[{"HTTPBearer":[]}]},"put":{"tags":["Local Inventory"],"summary":"Update Local Inventory","description":"Updates existing local inventory data for a variant, merging\nincoming per-location entries with existing ones by location_id.\nRequires an existing record; returns a 404 error if none exists.","operationId":"update_local_inventory_api_v1_local_inventory__put","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateLocalInventoryBody"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestDetails"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TooManyRequestError"}}}}},"security":[{"HTTPBearer":[]}]},"delete":{"tags":["Local Inventory"],"summary":"Delete Local Inventory","description":"Permanently deletes local inventory data for a single variant. This\naction cannot be undone. If local inventory is created again later\nfor the same variant, it starts fresh with no prior data.","operationId":"delete_local_inventory_api_v1_local_inventory__delete","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteLocalInventoryBody"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TooManyRequestError"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/{shop_id}/local-inventory/{variant_id}":{"get":{"tags":["Local Inventory"],"summary":"Retrieve Local Inventory","description":"Retrieves local inventory (per-location availability and quantity)\nfor a single variant. Only supported for variants that were added\nthrough this API. Returns a 404 error if the variant doesn't exist,\nor a 400 error if it isn't eligible for local inventory.","operationId":"retrieve_local_inventory_api_v1__shop_id__local_inventory__variant_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"shop_id","in":"path","required":true,"schema":{"anyOf":[{"type":"string","minLength":1},{"type":"integer"}],"title":"Shop Id"}},{"name":"variant_id","in":"path","required":true,"schema":{"type":"string","title":"Variant Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}},"description":"Not Found"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TooManyRequestError"}}},"description":"Too Many Requests"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/bulk-local-inventory/":{"post":{"tags":["Local Inventory"],"summary":"Create Bulk Local Inventory","description":"Creates local inventory data for up to 2000 variants in a single\nrequest. Each variant is validated and processed independently:\nunless `upsert` is True, a variant that already has a record is\nreported as a per-item error instead of failing the whole batch.","operationId":"create_bulk_local_inventory_api_v1_bulk_local_inventory__post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_create_bulk_local_inventory_api_v1_bulk_local_inventory__post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TooManyRequestError"}}}}},"security":[{"HTTPBearer":[]}]},"put":{"tags":["Local Inventory"],"summary":"Update Bulk Local Inventory","description":"Updates existing local inventory data for up to 2000 variants in a\nsingle request. Each variant is processed independently: a variant\nwithout an existing record is reported as a per-item error instead\nof failing the whole batch.","operationId":"update_bulk_local_inventory_api_v1_bulk_local_inventory__put","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_update_bulk_local_inventory_api_v1_bulk_local_inventory__put"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TooManyRequestError"}}}}},"security":[{"HTTPBearer":[]}]},"delete":{"tags":["Local Inventory"],"summary":"Delete Bulk Local Inventory","description":"Permanently deletes local inventory data for up to 2000 variants in\na single request. This action cannot be undone. Only supported for\nvariants added through this API; any other variant is reported as a\nper-item error and skipped. A variant_id with no existing local\ninventory data is also reported as a per-item error.","operationId":"delete_bulk_local_inventory_api_v1_bulk_local_inventory__delete","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_delete_bulk_local_inventory_api_v1_bulk_local_inventory__delete"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TooManyRequestError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/orders/":{"post":{"tags":["Orders"],"summary":"Add Order","description":"Create a new order record for the given shop.\n\nValidates the shop, checks for a duplicate order ID, assigns an internal\nsequential order ID via the counter collection, persists the order document,\nenqueues it for downstream processing, and logs the activity.","operationId":"add_order_api_v1_orders__post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_add_order_api_v1_orders__post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSuccessResponse"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TooManyRequestError"}}}}},"security":[{"HTTPBearer":[]}]},"put":{"tags":["Orders"],"summary":"Update Order","description":"Update an existing order record for the given shop.\n\nValidates the shop, confirms the order exists, applies the partial update\n(resets google_status and google_error to trigger re-sync), enqueues the\norder for downstream processing, and logs the activity.","operationId":"update_order_api_v1_orders__put","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_update_order_api_v1_orders__put"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TooManyRequestError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/{shop_id}/orders/{order_id}":{"get":{"tags":["Orders"],"summary":"Retrieve Order","description":"Retrieve a single order record by its order ID.\n\nLooks up the order in the shop's dedicated MongoDB collection. Internal\nfields (internal_order_id, google_status, google_error) are excluded\nfrom the response projection.","operationId":"retrieve_order_api_v1__shop_id__orders__order_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"shop_id","in":"path","required":true,"schema":{"type":"string","title":"Shop Id"}},{"name":"order_id","in":"path","required":true,"schema":{"type":"string","title":"Order Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}},"description":"Not Found"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TooManyRequestError"}}},"description":"Too Many Requests"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/status/{shop_id}/{task_id}":{"get":{"tags":["Task Status"],"summary":"Task Status","description":"Retrieves the status of a task.\n\nThis endpoint provides the status and relevant details of a specific task\nusing its unique `task_id`. It checks the current state of the task and retrieves\nadditional information if necessary.","operationId":"task_status_api_v1_status__shop_id___task_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundResponse"}}},"description":"Not Found"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Unprocessable Entity"}}}}},"components":{"schemas":{"AgeGroup":{"type":"string","enum":["newborn","infant","toddler","kids","adult",""],"title":"AgeGroup"},"ApplicationToken":{"properties":{"client_id":{"type":"string","title":"Client Id"},"client_secret":{"type":"string","title":"Client Secret"}},"type":"object","required":["client_id","client_secret"],"title":"ApplicationToken"},"Availability":{"type":"string","enum":["in_stock","out_of_stock","preorder","backorder"],"title":"Availability"},"BadRequestDetails":{"properties":{"data":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Data"},"message":{"type":"string","title":"Message","description":"A message describing the error.","default":"Invalid details error."},"code":{"type":"integer","title":"Code","description":"HTTP status code.","default":400},"status":{"type":"boolean","title":"Status","description":"Indicates if the request was successful or not.","default":false},"error_code":{"type":"integer","title":"Error Code","description":"Error code associated with the error, if any.","default":0}},"type":"object","required":["data"],"title":"BadRequestDetails"},"Body_add_bulk_products_api_v1_bulk_products__post":{"properties":{"shop_id":{"anyOf":[{"type":"string","minLength":1},{"type":"integer"}],"title":"Shop Id"},"products":{"items":{"$ref":"#/components/schemas/ProductRequest"},"type":"array","title":"Products"},"upsert":{"type":"boolean","title":"Upsert","description":"If True, updates the record if the ID exists or creates a new one if it doesn't. Defaults to False. <b>Note:</b> When upsert is True, include all fields in the payload, as missing fields will be removed.","default":false}},"type":"object","required":["shop_id","products"],"title":"Body_add_bulk_products_api_v1_bulk_products__post"},"Body_add_bulk_variants_api_v1_bulk_variants__post":{"properties":{"shop_id":{"anyOf":[{"type":"string","minLength":1},{"type":"integer"}],"title":"Shop Id"},"products":{"items":{"$ref":"#/components/schemas/ProductData"},"type":"array","title":"Products"},"upsert":{"type":"boolean","title":"Upsert","description":"If True, updates the record if the ID exists or creates a new one.","default":false}},"type":"object","required":["shop_id","products"],"title":"Body_add_bulk_variants_api_v1_bulk_variants__post"},"Body_add_order_api_v1_orders__post":{"properties":{"shop_id":{"type":"string","title":"Shop Id"},"order":{"$ref":"#/components/schemas/OrderRequest"}},"type":"object","required":["shop_id","order"],"title":"Body_add_order_api_v1_orders__post"},"Body_add_product_api_v1_products__post":{"properties":{"shop_id":{"anyOf":[{"type":"string","minLength":1},{"type":"integer"}],"title":"Shop Id","description":"The ID of shop for which the product is going to be add."},"product":{"$ref":"#/components/schemas/ProductRequest","description":"Details of the product to be added."},"upsert":{"type":"boolean","title":"Upsert","description":"If True, updates the record if the ID exists or creates a new one if it doesn't. Defaults to False. <b>Note:</b> When upsert is True, include all fields in the payload, as missing fields will be removed.","default":false}},"type":"object","required":["shop_id","product"],"title":"Body_add_product_api_v1_products__post"},"Body_add_variant_api_v1_variants__post":{"properties":{"variant":{"$ref":"#/components/schemas/ProductVariantRequest"},"shop_id":{"anyOf":[{"type":"string","minLength":1},{"type":"integer"}],"title":"Shop Id"},"product_id":{"type":"string","title":"Product Id"},"upsert":{"type":"boolean","title":"Upsert","description":"If True, updates the record if the ID exists or creates a new one if it doesn't. Defaults to False. <b>Note:</b> When upsert is True, include all fields in the payload, as missing fields will be removed.","default":false}},"type":"object","required":["variant","shop_id","product_id"],"title":"Body_add_variant_api_v1_variants__post"},"Body_create_bulk_local_inventory_api_v1_bulk_local_inventory__post":{"properties":{"variants":{"items":{"$ref":"#/components/schemas/VariantInventoryBody"},"type":"array","title":"Variants","description":"List of variants (up to 2000) to create local inventory data for."},"shop_id":{"anyOf":[{"type":"string","minLength":1},{"type":"integer"}],"title":"Shop ID","description":"Identifier of the shop this local inventory data belongs to."},"upsert":{"type":"boolean","title":"Upsert","description":"If True, updates local inventory records that already exist instead of reporting them as errors. Defaults to False.","default":false}},"type":"object","required":["variants","shop_id"],"title":"Body_create_bulk_local_inventory_api_v1_bulk_local_inventory__post"},"Body_create_location_api_v1_locations__post":{"properties":{"location":{"$ref":"#/components/schemas/LocationCreateRequest"},"shop_id":{"anyOf":[{"type":"string","minLength":1},{"type":"integer"}],"title":"Shop ID","description":"Identifier of the shop this location belongs to."}},"type":"object","required":["location","shop_id"],"title":"Body_create_location_api_v1_locations__post"},"Body_delete_bulk_local_inventory_api_v1_bulk_local_inventory__delete":{"properties":{"variant_ids":{"items":{"type":"string","maxLength":24,"minLength":1},"type":"array","title":"Variant IDs","description":"List of variant identifiers whose local inventory data should be permanently deleted. Maximum 2000 per request."},"shop_id":{"anyOf":[{"type":"string","minLength":1},{"type":"integer"}],"title":"Shop ID","description":"Identifier of the shop this local inventory data belongs to."}},"type":"object","required":["variant_ids","shop_id"],"title":"Body_delete_bulk_local_inventory_api_v1_bulk_local_inventory__delete"},"Body_delete_bulk_products_api_v1_bulk_products__delete":{"properties":{"shop_id":{"anyOf":[{"type":"string","minLength":1},{"type":"integer"}],"title":"Shop Id"},"product_ids":{"items":{"type":"string"},"type":"array","title":"Product Ids"}},"type":"object","required":["shop_id","product_ids"],"title":"Body_delete_bulk_products_api_v1_bulk_products__delete"},"Body_delete_bulk_variants_api_v1_bulk_variants__delete":{"properties":{"variant_ids":{"items":{"type":"string"},"type":"array","title":"Variant Ids"},"shop_id":{"anyOf":[{"type":"string","minLength":1},{"type":"integer"}],"title":"Shop Id"}},"type":"object","required":["variant_ids","shop_id"],"title":"Body_delete_bulk_variants_api_v1_bulk_variants__delete"},"Body_update_bulk_local_inventory_api_v1_bulk_local_inventory__put":{"properties":{"variants":{"items":{"$ref":"#/components/schemas/VariantInventoryBody"},"type":"array","title":"Variants","description":"List of variants (up to 2000) to update local inventory data for."},"shop_id":{"anyOf":[{"type":"string","minLength":1},{"type":"integer"}],"title":"Shop ID","description":"Identifier of the shop this local inventory data belongs to."}},"type":"object","required":["variants","shop_id"],"title":"Body_update_bulk_local_inventory_api_v1_bulk_local_inventory__put"},"Body_update_bulk_products_api_v1_bulk_products__put":{"properties":{"shop_id":{"anyOf":[{"type":"string","minLength":1},{"type":"integer"}],"title":"Shop Id"},"products":{"items":{"$ref":"#/components/schemas/ProductUpdateRequest"},"type":"array","title":"Products"}},"type":"object","required":["shop_id","products"],"title":"Body_update_bulk_products_api_v1_bulk_products__put"},"Body_update_bulk_variants_api_v1_bulk_variants__put":{"properties":{"products":{"items":{"$ref":"#/components/schemas/ProductDataUpdate"},"type":"array","title":"Products"},"shop_id":{"anyOf":[{"type":"string","minLength":1},{"type":"integer"}],"title":"Shop Id"}},"type":"object","required":["products","shop_id"],"title":"Body_update_bulk_variants_api_v1_bulk_variants__put"},"Body_update_location_api_v1_locations__put":{"properties":{"location":{"$ref":"#/components/schemas/LocationUpdateRequest"},"shop_id":{"anyOf":[{"type":"string","minLength":1},{"type":"integer"}],"title":"Shop ID","description":"Identifier of the shop this location belongs to."}},"type":"object","required":["location","shop_id"],"title":"Body_update_location_api_v1_locations__put"},"Body_update_order_api_v1_orders__put":{"properties":{"shop_id":{"type":"string","title":"Shop Id"},"order":{"$ref":"#/components/schemas/OrderUpdateRequest"}},"type":"object","required":["shop_id","order"],"title":"Body_update_order_api_v1_orders__put"},"Body_update_product_api_v1_products__put":{"properties":{"shop_id":{"anyOf":[{"type":"string","minLength":1},{"type":"integer"}],"title":"Shop Id"},"product":{"$ref":"#/components/schemas/ProductUpdateRequest"}},"type":"object","required":["shop_id","product"],"title":"Body_update_product_api_v1_products__put"},"Body_update_variant_api_v1_variants__put":{"properties":{"variant":{"$ref":"#/components/schemas/ProductVariantUpdateRequest"},"shop_id":{"anyOf":[{"type":"string","minLength":1},{"type":"integer"}],"title":"Shop Id"}},"type":"object","required":["variant","shop_id"],"title":"Body_update_variant_api_v1_variants__put"},"Certificate":{"properties":{"certification_authority":{"$ref":"#/components/schemas/PydanticCertificationAuthority","title":"Certification Authority","description":"The authority or certification body responsible for issuing the certification."},"certification_name":{"$ref":"#/components/schemas/PydanticCertificationName","title":"Certification Name","description":"The name of the certification."},"certification_code":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Certification Code","description":"The code of the certification.","default":""},"certification_value":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Certification Value","description":"The value of the certification.","default":""}},"type":"object","required":["certification_authority","certification_name"],"title":"Certificate"},"Condition":{"type":"string","enum":["new","refurbished","used",""],"title":"Condition"},"CountryCode":{"type":"string","enum":["AR","AU","AT","BE","FR","DE","IE","IT","NL","PT","ES","FI","GR","SK","BR","CA","CL","CO","CZ","DK","HK","IN","ID","MY","JP","MX","NO","PH","NZ","PL","RU","SG","ZA","SE","CH","TW","TR","AE","GB","US","EC","SV","PR","ZW","TH","SA","IL","UA","KR","VN","DZ","AO","BH","BD","BY","KH","CM","CR","CI","SN","DO","EG","ET","GE","GH","GT","HU","JO","KZ","KE","KW","LB","MG","MU","MA","MZ","MM","NP","NI","NG","OM","PK","PA","PY","PE","RO","LK","TZ","TN","UG","UZ","VE","ZM","UY"],"title":"CountryCode"},"CreateLocalInventoryBody":{"properties":{"variant_id":{"type":"string","maxLength":24,"minLength":1,"title":"Variant ID","description":"Identifier of the variant this local inventory data belongs to. Only supported for variants that were added through this API."},"locations":{"items":{"$ref":"#/components/schemas/VariantLocationItem"},"type":"array","title":"Locations","description":"Per-location availability and quantity for this variant."},"shop_id":{"anyOf":[{"type":"string","minLength":1},{"type":"integer"}],"title":"Shop ID","description":"Identifier of the shop this local inventory data belongs to."},"upsert":{"type":"boolean","title":"Upsert","description":"If True, updates the local inventory record if it exists or creates a new one if it doesn't. Defaults to False.","default":false}},"type":"object","required":["variant_id","locations","shop_id"],"title":"CreateLocalInventoryBody","example":{"locations":[{"availability":"in_stock","location_id":"STORE-101","quantity":25},{"availability":"out_of_stock","location_id":"STORE-102","quantity":0}],"shop_id":"171","upsert":false,"variant_id":"VAR123"}},"CreateSuccessResponse":{"properties":{"data":{"additionalProperties":true,"type":"object","title":"Data"},"status":{"type":"boolean","title":"Status","description":"Indicates if the request was successful or not.","default":true},"code":{"type":"integer","title":"Code","description":"HTTP status code.","default":201},"message":{"type":"string","title":"Message","description":"A message describing the success.","default":"Success"}},"type":"object","required":["data"],"title":"CreateSuccessResponse"},"DeleteLocalInventoryBody":{"properties":{"variant_id":{"type":"string","maxLength":24,"minLength":1,"title":"Variant ID","description":"Identifier of the variant whose local inventory data should be permanently deleted."},"shop_id":{"anyOf":[{"type":"string","minLength":1},{"type":"integer"}],"title":"Shop ID","description":"Identifier of the shop this local inventory data belongs to."}},"type":"object","required":["variant_id","shop_id"],"title":"DeleteLocalInventoryBody","example":{"shop_id":"171","variant_id":"VAR123"}},"DimensionUnit":{"type":"string","enum":["cm","in",""],"title":"DimensionUnit"},"ErrorDetail":{"properties":{"type":{"type":"string","title":"Type"},"field":{"type":"string","title":"Field"},"message":{"type":"string","title":"Message"}},"type":"object","required":["type","field","message"],"title":"ErrorDetail"},"ErrorResponse":{"properties":{"data":{"additionalProperties":true,"type":"object","title":"Data"},"status":{"type":"boolean","title":"Status","description":"Indicates if the request was successful or not.","default":false},"code":{"type":"integer","title":"Code","description":"HTTP status code.","default":422},"message":{"type":"string","title":"Message","description":"A message describing the error.","default":"Unprocessable Entity."},"errors":{"items":{"$ref":"#/components/schemas/ErrorDetail"},"type":"array","title":"Errors","description":"List of error details."}},"type":"object","required":["data","errors"],"title":"ErrorResponse"},"Gender":{"type":"string","enum":["male","female","unisex",""],"title":"Gender"},"GoogleProductCategory":{"properties":{"category_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Category Id"},"category_name":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"title":"Category Name"}},"type":"object","title":"GoogleProductCategory"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"LineItems":{"properties":{"line_item_id":{"type":"string","title":"Line Item ID","description":"The unique identifier for the line item in the order."},"offer_id":{"type":"string","maxLength":50,"minLength":1,"title":"Offer ID","description":"A unique identifier for this variant, consistent across all sales channels. The Offer ID must contain only letters (A–Z, a–z), digits (0–9), underscores (_), and hyphens (-). Spaces and special characters are not allowed. This ID should correspond to the offer identifier provided by the merchant API or from the CSV input, ensuring consistent tracking of the variant across systems.","example":"variant_123-XL"},"sku":{"type":"string","title":"SKU","description":"The sku of the respective variant for this line item.","default":""},"quantity":{"type":"integer","title":"Quantity","description":"The quantity of the line item in the order. This is represented as a string (int64 format)."}},"type":"object","required":["line_item_id","offer_id","quantity"],"title":"LineItems","example":{"line_item_id":"LINE789","offer_id":"variant_123-XL","quantity":2,"sku":"SKU001"}},"LocationAvailability":{"type":"string","enum":["in_stock","out_of_stock"],"title":"LocationAvailability"},"LocationCreateRequest":{"properties":{"location_id":{"type":"string","maxLength":24,"minLength":1,"title":"Location ID","description":"Unique identifier for the store location within the shop."},"name":{"type":"string","maxLength":100,"minLength":1,"title":"Location Name","description":"Display name of the store location."},"address":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Location Address","description":"Full postal address of the store location."}},"type":"object","required":["location_id","name"],"title":"LocationCreateRequest","example":{"address":"123 Main Street, Springfield, IL 62701, USA","location_id":"STORE-101","name":"Downtown Flagship Store"}},"LocationDeleteRequest":{"properties":{"location_id":{"type":"string","maxLength":24,"minLength":1,"title":"Location ID","description":"Identifier of the store location to permanently soft-delete."},"shop_id":{"anyOf":[{"type":"string","minLength":1},{"type":"integer"}],"title":"Shop ID","description":"Identifier of the shop this location belongs to."}},"type":"object","required":["location_id","shop_id"],"title":"LocationDeleteRequest","example":{"location_id":"STORE-101","shop_id":"171"}},"LocationUpdateRequest":{"properties":{"location_id":{"type":"string","maxLength":24,"minLength":1,"title":"Location ID","description":"Identifier of the existing store location to update."},"name":{"anyOf":[{"type":"string","maxLength":100,"minLength":1},{"type":"null"}],"title":"Location Name","description":"Updated display name of the store location. Omit to leave unchanged."},"address":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Location Address","description":"Updated full postal address of the store location. Omit to leave unchanged."}},"type":"object","required":["location_id"],"title":"LocationUpdateRequest","example":{"address":"123 Main Street, Springfield, IL 62701, USA","location_id":"STORE-101","name":"Downtown Flagship Store"}},"NotFoundResponse":{"properties":{"message":{"type":"string","title":"Message","description":"A message describing the error.","default":"Not found."},"code":{"type":"integer","title":"Code","description":"HTTP status code.","default":404},"status":{"type":"boolean","title":"Status","description":"Indicates if the request was successful or not.","default":false},"error_code":{"type":"integer","title":"Error Code","description":"Error code associated with the error, if any.","default":0}},"type":"object","title":"NotFoundResponse"},"OrderRequest":{"properties":{"order_id":{"type":"string","maxLength":100,"minLength":1,"title":"Order ID","description":"A unique identifier for the order, with a maximum length of 100 characters."},"order_created_time":{"type":"string","format":"date-time","title":"Order Created Time","description":"The timestamp indicating when the order was created."},"shipping_info":{"items":{"$ref":"#/components/schemas/ShipmentInfo"},"type":"array","minItems":1,"title":"Shipping Info","description":"A list of shipping information associated with the order."},"line_items":{"items":{"$ref":"#/components/schemas/LineItems"},"type":"array","title":"Line Items","description":"A list of line items associated with the order."},"shipment_line_item_mapping":{"items":{"$ref":"#/components/schemas/ShipmentLineItemMapping"},"type":"array","minItems":1,"title":"Shipment Line Item Mapping","description":"A list of mappings between shipments and line items."},"customer_shipping_fee":{"$ref":"#/components/schemas/PriceAmount","title":"Customer Shipping Fee","description":"The shipping fee paid by the customer."},"delivery_postal_code":{"type":"string","maxLength":20,"minLength":1,"title":"Delivery Postal Code","description":"The postal code where the order is to be delivered, with a maximum length of 20 characters."},"delivery_region_code":{"type":"string","enum":["001","002","003","005","009","011","013","014","015","017","018","019","021","029","030","034","035","039","053","054","057","061","142","143","145","150","151","154","155","202","419","AC","AD","AE","AF","AG","AI","AL","AM","AO","AQ","AR","AS","AT","AU","AW","AX","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BL","BM","BN","BO","BQ","BR","BS","BT","BV","BW","BY","BZ","CA","CC","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CP","CR","CU","CV","CW","CX","CY","CZ","DE","DG","DJ","DK","DM","DO","DZ","EA","EC","EE","EG","EH","ER","ES","ET","EU","EZ","FI","FJ","FK","FM","FO","FR","GA","GB","GD","GE","GF","GG","GH","GI","GL","GM","GN","GP","GQ","GR","GS","GT","GU","GW","GY","HK","HM","HN","HR","HT","HU","IC","ID","IE","IL","IM","IN","IO","IQ","IR","IS","IT","JE","JM","JO","JP","KE","KG","KH","KI","KM","KN","KP","KR","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MF","MG","MH","MK","ML","MM","MN","MO","MP","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PN","PR","PS","PT","PW","PY","QA","QO","RE","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","SS","ST","SV","SX","SY","SZ","TA","TC","TD","TF","TG","TH","TJ","TK","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","UM","UN","US","UY","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","XA","XB","XK","YE","YT","ZA","ZM","ZW","ZZ"],"title":"Delivery Region Code","description":"The region or country code where the order is to be delivered, typically in ISO 3166-1 alpha-2 format, with a maximum length of 2 characters."}},"type":"object","required":["order_id","order_created_time","shipping_info","line_items","shipment_line_item_mapping","customer_shipping_fee","delivery_postal_code","delivery_region_code"],"title":"OrderRequest","example":{"customer_shipping_fee":{"currency":"USD","value":12.99},"delivery_postal_code":"10001","delivery_region_code":"US","line_items":[{"line_item_id":"LINE789","offer_id":"variant_123-XL","quantity":2,"sku":"SKU001"}],"order_created_time":"2024-12-31T09:00:00Z","order_id":"ORD001","shipment_line_item_mapping":[{"line_item_id":"LINE789","quantity":2,"shipment_id":"SHIP123"}],"shipping_info":[{"carrier_name":"FedEx","carrier_service_name":"Overnight","earliest_delivery_promise_time":"2025-01-01T08:00:00Z","latest_delivery_promise_time":"2025-01-01T18:00:00Z","origin_postal_code":"90210","origin_region_code":"US","shipment_id":"SHIP123","shipped_time":"2024-12-31T10:30:00Z","shipping_status":"SHIPPED","tracking_id":"TRACK456"}]}},"OrderUpdateRequest":{"properties":{"order_id":{"type":"string","maxLength":100,"minLength":1,"title":"Order ID","description":"A unique identifier for the order, with a maximum length of 100 characters."},"order_created_time":{"type":"string","format":"date-time","title":"Order Created Time","description":"The timestamp indicating when the order was created."},"shipping_info":{"items":{"$ref":"#/components/schemas/ShipmentInfo"},"type":"array","minItems":1,"title":"Shipping Info","description":"A list of shipping information associated with the order."},"line_items":{"items":{"$ref":"#/components/schemas/LineItems"},"type":"array","title":"Line Items","description":"A list of line items associated with the order."},"shipment_line_item_mapping":{"items":{"$ref":"#/components/schemas/ShipmentLineItemMapping"},"type":"array","minItems":1,"title":"Shipment Line Item Mapping","description":"A list of mappings between shipments and line items."},"customer_shipping_fee":{"$ref":"#/components/schemas/PriceAmount","title":"Customer Shipping Fee","description":"The shipping fee paid by the customer."},"delivery_postal_code":{"type":"string","maxLength":20,"minLength":1,"title":"Delivery Postal Code","description":"The postal code where the order is to be delivered, with a maximum length of 20 characters."},"delivery_region_code":{"type":"string","enum":["001","002","003","005","009","011","013","014","015","017","018","019","021","029","030","034","035","039","053","054","057","061","142","143","145","150","151","154","155","202","419","AC","AD","AE","AF","AG","AI","AL","AM","AO","AQ","AR","AS","AT","AU","AW","AX","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BL","BM","BN","BO","BQ","BR","BS","BT","BV","BW","BY","BZ","CA","CC","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CP","CR","CU","CV","CW","CX","CY","CZ","DE","DG","DJ","DK","DM","DO","DZ","EA","EC","EE","EG","EH","ER","ES","ET","EU","EZ","FI","FJ","FK","FM","FO","FR","GA","GB","GD","GE","GF","GG","GH","GI","GL","GM","GN","GP","GQ","GR","GS","GT","GU","GW","GY","HK","HM","HN","HR","HT","HU","IC","ID","IE","IL","IM","IN","IO","IQ","IR","IS","IT","JE","JM","JO","JP","KE","KG","KH","KI","KM","KN","KP","KR","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MF","MG","MH","MK","ML","MM","MN","MO","MP","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PN","PR","PS","PT","PW","PY","QA","QO","RE","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","SS","ST","SV","SX","SY","SZ","TA","TC","TD","TF","TG","TH","TJ","TK","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","UM","UN","US","UY","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","XA","XB","XK","YE","YT","ZA","ZM","ZW","ZZ"],"title":"Delivery Region Code","description":"The region or country code where the order is to be delivered, typically in ISO 3166-1 alpha-2 format, with a maximum length of 2 characters."},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"}},"type":"object","required":["order_id","order_created_time","shipping_info","line_items","shipment_line_item_mapping","customer_shipping_fee","delivery_postal_code","delivery_region_code"],"title":"OrderUpdateRequest","example":{"customer_shipping_fee":{"currency":"USD","value":15.99},"delivery_postal_code":"10001","delivery_region_code":"US","line_items":[{"line_item_id":"LINE789","offer_id":"variant_123-XL","quantity":3,"sku":"SKU001"}],"order_created_time":"2024-12-31T09:00:00Z","order_id":"ORD001","shipment_line_item_mapping":[{"line_item_id":"LINE789","quantity":2,"shipment_id":"SHIP123"}],"shipping_info":[{"carrier_name":"FedEx","carrier_service_name":"Overnight","earliest_delivery_promise_time":"2025-01-01T08:00:00Z","latest_delivery_promise_time":"2025-01-01T18:00:00Z","origin_postal_code":"90210","origin_region_code":"US","shipment_id":"SHIP123","shipped_time":"2024-12-31T10:30:00Z","shipping_status":"DELIVERED","tracking_id":"TRACK456"}]}},"Pause":{"type":"string","enum":["ads","all",""],"title":"Pause"},"PriceAmount":{"properties":{"value":{"type":"number","title":"Price Value","description":"The price represented as a number. This field is a float."},"currency":{"type":"string","enum":["AED","AOA","ARS","AUD","BDT","BHD","BRL","BYN","CAD","CHF","CLP","COP","CRC","CZK","DKK","DOP","DZD","EGP","ETB","EUR","GBP","GEL","GHS","GTQ","HKD","IDR","ILS","INR","JPY","KHR","KRW","MXN","MYR","NOK","NZD","PHP","PLN","RUB","SAR","SEK","SGD","THB","TRY","TWD","UAH","USD","VND","XAF","XOF","ZAR"],"title":"Currency","description":"The currency of the price. This field represents the currency in which the price is denominated, e.g., 'USD', 'EUR'."}},"type":"object","required":["value","currency"],"title":"PriceAmount","example":{"currency":"USD","value":10.99}},"ProductData":{"properties":{"product_id":{"type":"string","maxLength":24,"minLength":1,"title":"Product Id"},"variants":{"items":{"$ref":"#/components/schemas/ProductVariantRequest"},"type":"array","title":"Variants"}},"type":"object","required":["product_id","variants"],"title":"ProductData"},"ProductDataUpdate":{"properties":{"product_id":{"type":"string","maxLength":24,"minLength":1,"title":"Product Id"},"variants":{"items":{"$ref":"#/components/schemas/ProductVariantUpdateRequest"},"type":"array","title":"Variants"}},"type":"object","required":["product_id","variants"],"title":"ProductDataUpdate"},"ProductPriceBaseMeasure":{"properties":{"value":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Value"},"unit":{"anyOf":[{"$ref":"#/components/schemas/WeightUnit"},{"type":"null"}]}},"type":"object","title":"ProductPriceBaseMeasure"},"ProductPriceMeasure":{"properties":{"value":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Value"},"unit":{"anyOf":[{"$ref":"#/components/schemas/WeightUnit"},{"type":"null"}]}},"additionalProperties":false,"type":"object","title":"ProductPriceMeasure"},"ProductRequest":{"properties":{"product_id":{"type":"string","maxLength":24,"minLength":1,"title":"Product Id"},"title":{"type":"string","maxLength":200,"minLength":1,"title":"Product Title"},"description":{"type":"string","maxLength":10000,"minLength":1,"title":"Product Description"},"brand":{"anyOf":[{"type":"string","maxLength":70},{"type":"null"}],"title":"Brand Name","default":""},"product_type":{"anyOf":[{"type":"string","maxLength":750},{"type":"null"}],"title":"Product Type","default":""},"variants":{"items":{"$ref":"#/components/schemas/ProductVariantRequest"},"type":"array","title":"Variants"},"options":{"anyOf":[{"additionalProperties":{"type":"string","minLength":1},"propertyNames":{"minLength":1},"type":"object"},{"type":"null"}],"title":"Options","default":{}},"canonical_link":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Canonical Link","default":""},"detail":{"anyOf":[{"items":{"$ref":"#/components/schemas/VariantDetail"},"type":"array"},{"type":"null"}],"title":"Detail","default":[]},"highlights":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Highlights","default":[]},"google_product_category":{"anyOf":[{"$ref":"#/components/schemas/GoogleProductCategory"},{"type":"null"}],"title":"Google Product Category","default":{}}},"type":"object","required":["product_id","title","description","variants"],"title":"ProductRequest","example":{"brand":"BrandName","canonical_link":"https://www.example.com/product/prod12345","description":"This is a detailed description of the sample product.","detail":[{"attribute_name":"Fabric","attribute_value":"Cotton","section_name":"Material"},{"attribute_name":"Pattern","attribute_value":"Solid","section_name":"Features"}],"google_product_category":{"category_id":171,"category_name":"Apparel & Accessories > Clothing Accessories > Hair Accessories"},"highlights":["100% Cotton","Machine Washable"],"options":{"1":"Color","2":"Size"},"product_id":"PROD12345","product_type":"Clothing","title":"Sample Product Title","variants":[{"additional_image_links":["https://www.example.com/images/prod12345-var123-add1.jpg","https://www.example.com/images/prod12345-var123-add2.jpg"],"adult":false,"age_group":"adult","auto_pricing_min_price":20.0,"availability":"in_stock","availability_date":"2024-08-21T00:00:00Z","certifications":[{"certification_authority":"ADEME","certification_code":"123456","certification_name":"VEHICLE_ENERGY_EFFICIENCY","certification_value":"CO2 Class A"}],"checkout_link":"https://www.example.com/checkout/prod12345-var123","cogs":15.0,"color":"Red","condition":"new","custom_label0":"Label0","custom_label1":"Label1","custom_label2":"Label2","custom_label3":"Label3","custom_label4":"Label4","gtin":"12345678901234","height":{"unit":"cm","value":8},"image_link":"https://www.example.com/images/prod12345-var123.jpg","inventory_qty":100,"is_bundle":false,"length":{"unit":"cm","value":28},"lifestyle_image_link":"https://www.example.com/lifestyle/prod12345-var123.jpg","link":"https://www.example.com/product/prod12345/variant/var123","material":"Fabric","mobile_link":"https://m.example.com/product/prod12345/variant/var123","multipack":1,"offer_id":"PROD12345_VAR123","pattern":"Solid","pause":"all","price":29.99,"return_address_label":"Warehouse A","return_policy_label":"30-Day Returns","sale_price":24.99,"sale_price_effective_date":"2024-08-21T00:00:00Z/2024-09-01T00:00:00Z","shipping_height":{"unit":"cm","value":10},"shipping_label":"Standard Shipping","shipping_length":{"unit":"cm","value":30},"shipping_weight":{"unit":"kg","value":1.2},"shipping_width":{"unit":"cm","value":20},"ships_from_country":"US","size":"M","size_system":"US","size_type":"regular","sku":"SKU123","tags":"Sample, Product, Tag","unit_pricing_base_measure":{"unit":"kg","value":1},"unit_pricing_measure":{"unit":"kg","value":1.5},"values":{"Color":"Blue","Size":"L"},"variant_description":"This is a blue, large variant of the sample product.","variant_id":"VAR123","variant_title":"Blue, L","virtual_model_link":"https://www.example.com/3d-models/prod12345-var123","weight":{"unit":"kg","value":1.1},"width":{"unit":"cm","value":18}}]}},"ProductUpdateRequest":{"properties":{"product_id":{"type":"string","maxLength":24,"minLength":1,"title":"Product Id"},"title":{"type":"string","maxLength":200,"minLength":1,"title":"Title"},"description":{"type":"string","maxLength":10000,"minLength":1,"title":"Description"},"brand":{"anyOf":[{"type":"string","maxLength":70},{"type":"null"}],"title":"Brand"},"product_type":{"anyOf":[{"type":"string","maxLength":750},{"type":"null"}],"title":"Product Type"},"variants":{"anyOf":[{"items":{"$ref":"#/components/schemas/ProductVariantRequest"},"type":"array"},{"type":"null"}],"title":"Variants"},"options":{"anyOf":[{"additionalProperties":{"type":"string","minLength":1},"propertyNames":{"minLength":1},"type":"object"},{"type":"null"}],"title":"Options"},"canonical_link":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Canonical Link"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"},"detail":{"anyOf":[{"items":{"$ref":"#/components/schemas/VariantDetail"},"type":"array"},{"type":"null"}],"title":"Detail"},"highlights":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Highlights"},"google_product_category":{"anyOf":[{"$ref":"#/components/schemas/GoogleProductCategory"},{"type":"null"}]}},"type":"object","required":["product_id"],"title":"ProductUpdateRequest","example":{"brand":"BrandName","canonical_link":"https://www.example.com/product/prod12345","description":"This is a detailed description of the sample product.","detail":[{"attribute_name":"Fabric","attribute_value":"Cotton","section_name":"Material"},{"attribute_name":"Pattern","attribute_value":"Solid","section_name":"Features"}],"google_product_category":{"category_id":171,"category_name":"Apparel & Accessories > Clothing Accessories > Hair Accessories"},"highlights":["100% Cotton","Machine Washable"],"options":{"1":"Color","2":"Size"},"product_id":"PROD12345","product_type":"Clothing","title":"Sample Product Title","variants":[{"additional_image_links":["https://www.example.com/images/prod12345-var123-add1.jpg","https://www.example.com/images/prod12345-var123-add2.jpg"],"adult":false,"age_group":"adult","auto_pricing_min_price":20.0,"availability":"in_stock","availability_date":"2024-08-21T00:00:00Z","certifications":[{"certification_authority":"ADEME","certification_code":"123456","certification_name":"VEHICLE_ENERGY_EFFICIENCY","certification_value":"CO2 Class A"}],"checkout_link":"https://www.example.com/checkout/prod12345-var123","cogs":15.0,"color":"Red","condition":"new","custom_label0":"Label0","custom_label1":"Label1","custom_label2":"Label2","custom_label3":"Label3","custom_label4":"Label4","gtin":"12345678901234","height":{"unit":"cm","value":8},"image_link":"https://www.example.com/images/prod12345-var123.jpg","inventory_qty":100,"is_bundle":false,"length":{"unit":"cm","value":28},"lifestyle_image_link":"https://www.example.com/lifestyle/prod12345-var123.jpg","link":"https://www.example.com/product/prod12345/variant/var123","material":"Fabric","mobile_link":"https://m.example.com/product/prod12345/variant/var123","multipack":1,"offer_id":"PROD12345_VAR123","pattern":"Solid","pause":"all","price":29.99,"return_address_label":"Warehouse A","return_policy_label":"30-Day Returns","sale_price":24.99,"sale_price_effective_date":"2024-08-21T00:00:00Z/2024-09-01T00:00:00Z","shipping_height":{"unit":"cm","value":10},"shipping_label":"Standard Shipping","shipping_length":{"unit":"cm","value":30},"shipping_weight":{"unit":"kg","value":1.2},"shipping_width":{"unit":"cm","value":20},"ships_from_country":"US","size":"M","size_system":"US","size_type":"regular","sku":"SKU123","tags":"Sample, Product, Tag","unit_pricing_base_measure":{"unit":"kg","value":1},"unit_pricing_measure":{"unit":"kg","value":1.5},"values":{"Color":"Blue","Size":"L"},"variant_description":"This is a blue, large variant of the sample product.","variant_id":"VAR123","variant_title":"Blue, L","virtual_model_link":"https://www.example.com/3d-models/prod12345-var123","weight":{"unit":"kg","value":1.1},"width":{"unit":"cm","value":18}}]}},"ProductVariantRequest":{"properties":{"variant_id":{"type":"string","maxLength":24,"minLength":1,"title":"Variant Id"},"offer_id":{"type":"string","maxLength":50,"minLength":1,"title":"Offer ID","description":"A Channel-specific individual product identifier.","example":"variant_123-XL"},"variant_title":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Variant Title","description":"The variant title should be a combination of option values, such as Size and Color.","default":""},"variant_description":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}],"title":"Variant Description","default":""},"price":{"type":"number","title":"Price","description":"The price attribute tells users how much you're charging for your product."},"image_link":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Image Link","default":""},"link":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Link","default":""},"sku":{"anyOf":[{"type":"string","maxLength":70},{"type":"null"}],"title":"SKU or MPN","default":""},"gtin":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"GTIN","description":"GTIN must be 8, 12, 13, or 14 digits.","default":""},"availability":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Availability","default":""},"availability_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Availability Date"},"shipping_weight":{"anyOf":[{"$ref":"#/components/schemas/ShippingWeight"},{"type":"null"}],"title":"Shipping Weight"},"sale_price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Sale Price"},"sale_price_effective_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sale Price Effective Date"},"additional_image_links":{"anyOf":[{"items":{"type":"string","maxLength":2000,"minLength":1},"type":"array"},{"type":"null"}],"title":"Additional Image Links","default":[]},"values":{"anyOf":[{"additionalProperties":{"type":"string","minLength":1},"propertyNames":{"minLength":1},"type":"object"},{"type":"null"}],"title":"Values","default":{}},"cogs":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cogs"},"auto_pricing_min_price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Auto Pricing Min Price"},"pause":{"$ref":"#/components/schemas/Pause","default":""},"virtual_model_link":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Virtual Model Link","default":""},"lifestyle_image_link":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Lifestyle Image Link","default":""},"inventory_qty":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Inventory Qty"},"checkout_link":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Checkout Link","default":""},"mobile_link":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Mobile Link","default":""},"is_bundle":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Bundle"},"multipack":{"anyOf":[{"type":"integer"},{"type":"string"},{"type":"null"}],"title":"Multipack","default":""},"return_policy_label":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Return Policy Label","default":""},"return_address_label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Return Address Label","default":""},"ships_from_country":{"anyOf":[{"$ref":"#/components/schemas/CountryCode"},{"type":"null"}]},"shipping_length":{"anyOf":[{"$ref":"#/components/schemas/ShippingDimension"},{"type":"null"}]},"shipping_width":{"anyOf":[{"$ref":"#/components/schemas/ShippingDimension"},{"type":"null"}]},"shipping_height":{"anyOf":[{"$ref":"#/components/schemas/ShippingDimension"},{"type":"null"}]},"length":{"anyOf":[{"$ref":"#/components/schemas/VariantDimension"},{"type":"null"}]},"width":{"anyOf":[{"$ref":"#/components/schemas/VariantDimension"},{"type":"null"}]},"height":{"anyOf":[{"$ref":"#/components/schemas/VariantDimension"},{"type":"null"}]},"weight":{"anyOf":[{"$ref":"#/components/schemas/VariantWeight"},{"type":"null"}]},"custom_label0":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Custom Label0","default":""},"custom_label1":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Custom Label1","default":""},"custom_label2":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Custom Label2","default":""},"custom_label3":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Custom Label3","default":""},"custom_label4":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Custom Label4","default":""},"unit_pricing_measure":{"anyOf":[{"$ref":"#/components/schemas/ProductPriceMeasure"},{"type":"null"}],"title":"Unit Pricing Measure","default":{}},"unit_pricing_base_measure":{"anyOf":[{"$ref":"#/components/schemas/ProductPriceBaseMeasure"},{"type":"null"}],"title":"Unit Pricing Base Measure","default":{}},"size_system":{"anyOf":[{"$ref":"#/components/schemas/SizeSystem"},{"type":"null"}],"title":"Size System","default":""},"size_type":{"anyOf":[{"$ref":"#/components/schemas/SizeType"},{"type":"null"}],"title":"Size Type","default":""},"shipping_label":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Shipping Label","default":""},"certifications":{"anyOf":[{"items":{"$ref":"#/components/schemas/Certificate"},"type":"array"},{"type":"null"}],"title":"Certifications","default":[]},"gender":{"anyOf":[{"$ref":"#/components/schemas/Gender"},{"type":"null"}],"title":"Gender","default":""},"age_group":{"anyOf":[{"$ref":"#/components/schemas/AgeGroup"},{"type":"null"}],"title":"Age Group","default":""},"adult":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Adult"},"tags":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tags","default":""},"condition":{"anyOf":[{"$ref":"#/components/schemas/Condition"},{"type":"null"}],"title":"Product Condition","default":""},"color":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Color","default":""},"size":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Size","default":""},"material":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Material","default":""},"pattern":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pattern","default":""}},"type":"object","required":["variant_id","offer_id","price"],"title":"ProductVariantRequest","example":{"additional_image_links":["https://www.example.com/images/prod12345-var123-add1.jpg","https://www.example.com/images/prod12345-var123-add2.jpg"],"adult":false,"age_group":"adult","auto_pricing_min_price":20.0,"availability":"in_stock","availability_date":"2024-08-21T00:00:00Z","certifications":[{"certification_authority":"ADEME","certification_code":"123456","certification_name":"VEHICLE_ENERGY_EFFICIENCY","certification_value":"CO2 Class A"}],"checkout_link":"https://www.example.com/checkout/prod12345-var123","cogs":15.0,"color":"Red","condition":"new","custom_label0":"Label0","custom_label1":"Label1","custom_label2":"Label2","custom_label3":"Label3","custom_label4":"Label4","gender":"unisex","gtin":"12345678901234","height":{"unit":"cm","value":8},"image_link":"https://www.example.com/images/prod12345-var123.jpg","inventory_qty":100,"is_bundle":false,"length":{"unit":"cm","value":28},"lifestyle_image_link":"https://www.example.com/lifestyle/prod12345-var123.jpg","link":"https://www.example.com/product/prod12345/variant/var123","material":"Fabric","mobile_link":"https://m.example.com/product/prod12345/variant/var123","multipack":1,"offer_id":"PROD12345_VAR123","pattern":"Solid","pause":"ads","price":29.99,"return_address_label":"Warehouse A","return_policy_label":"30-Day Returns","sale_price":24.99,"sale_price_effective_date":"2024-08-21T00:00:00Z/2024-09-01T00:00:00Z","shipping_height":{"unit":"cm","value":10},"shipping_label":"Standard Shipping","shipping_length":{"unit":"cm","value":30},"shipping_weight":{"unit":"kg","value":1.2},"shipping_width":{"unit":"cm","value":20},"ships_from_country":"US","size":"M","size_system":"US","size_type":"regular","sku":"SKU123","tags":"Sample, Product, Tag","unit_pricing_base_measure":{"unit":"kg","value":1},"unit_pricing_measure":{"unit":"kg","value":1.5},"values":{"Color":"Blue","Size":"L"},"variant_description":"This is a blue, large variant of the sample product.","variant_id":"VAR123","variant_title":"Blue, L","virtual_model_link":"https://www.example.com/3d-models/prod12345-var123","weight":{"unit":"kg","value":1.1},"width":{"unit":"cm","value":18}}},"ProductVariantUpdateRequest":{"properties":{"variant_id":{"type":"string","maxLength":24,"minLength":1,"title":"Variant Id"},"offer_id":{"anyOf":[{"type":"string","maxLength":50,"minLength":1},{"type":"null"}],"title":"Offer ID"},"variant_title":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Variant Title"},"variant_description":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}],"title":"Variant Description"},"price":{"type":"number","title":"Price"},"link":{"type":"string","maxLength":2000,"minLength":1,"title":"Link"},"image_link":{"type":"string","maxLength":2000,"minLength":1,"title":"Image Link"},"sku":{"anyOf":[{"type":"string","maxLength":70},{"type":"null"}],"title":"SKU"},"gtin":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"GTIN"},"availability":{"$ref":"#/components/schemas/Availability"},"availability_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Availability Date"},"shipping_weight":{"anyOf":[{"$ref":"#/components/schemas/ShippingWeight"},{"type":"null"}],"title":"Shipping Weight"},"sale_price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Sale Price"},"sale_price_effective_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sale Price Effective Date"},"additional_image_links":{"anyOf":[{"items":{"type":"string","maxLength":2000,"minLength":1},"type":"array"},{"type":"null"}],"title":"Additional Image Links"},"values":{"anyOf":[{"additionalProperties":{"type":"string","minLength":1},"propertyNames":{"minLength":1},"type":"object"},{"type":"null"}],"title":"Values"},"cogs":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cogs"},"auto_pricing_min_price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Auto Pricing Min Price"},"pause":{"$ref":"#/components/schemas/Pause"},"virtual_model_link":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Virtual Model Link"},"lifestyle_image_link":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Lifestyle Image Link"},"inventory_qty":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Inventory Qty"},"checkout_link":{"type":"string","title":"Checkout Link"},"mobile_link":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Mobile Link"},"is_bundle":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Bundle"},"multipack":{"anyOf":[{"type":"integer"},{"type":"string"},{"type":"null"}],"title":"Multipack"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"},"return_policy_label":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Return Policy Label"},"return_address_label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Return Address Label"},"ads_grouping":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ads Grouping"},"ships_from_country":{"anyOf":[{"$ref":"#/components/schemas/CountryCode"},{"type":"null"}]},"shipping_length":{"anyOf":[{"$ref":"#/components/schemas/ShippingDimension"},{"type":"null"}]},"shipping_width":{"anyOf":[{"$ref":"#/components/schemas/ShippingDimension"},{"type":"null"}]},"shipping_height":{"anyOf":[{"$ref":"#/components/schemas/ShippingDimension"},{"type":"null"}]},"length":{"anyOf":[{"$ref":"#/components/schemas/VariantDimension"},{"type":"null"}]},"width":{"anyOf":[{"$ref":"#/components/schemas/VariantDimension"},{"type":"null"}]},"height":{"anyOf":[{"$ref":"#/components/schemas/VariantDimension"},{"type":"null"}]},"weight":{"anyOf":[{"$ref":"#/components/schemas/VariantWeight"},{"type":"null"}]},"custom_label0":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Custom Label0"},"custom_label1":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Custom Label1"},"custom_label2":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Custom Label2"},"custom_label3":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Custom Label3"},"custom_label4":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Custom Label4"},"unit_pricing_measure":{"anyOf":[{"$ref":"#/components/schemas/ProductPriceMeasure"},{"type":"null"}]},"unit_pricing_base_measure":{"anyOf":[{"$ref":"#/components/schemas/ProductPriceBaseMeasure"},{"type":"null"}]},"size_system":{"anyOf":[{"$ref":"#/components/schemas/SizeSystem"},{"type":"null"}]},"size_type":{"anyOf":[{"$ref":"#/components/schemas/SizeType"},{"type":"null"}]},"shipping_label":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Shipping Label"},"certifications":{"anyOf":[{"items":{"$ref":"#/components/schemas/Certificate"},"type":"array"},{"type":"null"}],"title":"Certifications"},"gender":{"anyOf":[{"$ref":"#/components/schemas/Gender"},{"type":"null"}]},"age_group":{"anyOf":[{"$ref":"#/components/schemas/AgeGroup"},{"type":"null"}]},"adult":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Adult"},"tags":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tags"},"condition":{"anyOf":[{"$ref":"#/components/schemas/Condition"},{"type":"null"}]},"color":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Color"},"size":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Size"},"material":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Material"},"pattern":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pattern"}},"type":"object","required":["variant_id"],"title":"ProductVariantUpdateRequest","example":{"additional_image_links":["https://www.example.com/images/prod12345-var123-add1.jpg","https://www.example.com/images/prod12345-var123-add2.jpg"],"adult":false,"age_group":"adult","auto_pricing_min_price":20.0,"availability":"in_stock","availability_date":"2024-08-21T00:00:00Z","certifications":[{"certification_authority":"ADEME","certification_code":"123456","certification_name":"VEHICLE_ENERGY_EFFICIENCY","certification_value":"CO2 Class A"}],"checkout_link":"https://www.example.com/checkout/prod12345-var123","cogs":15.0,"color":"Red","condition":"new","custom_label0":"Label0","custom_label1":"Label1","custom_label2":"Label2","custom_label3":"Label3","custom_label4":"Label4","gender":"unisex","gtin":"12345678901234","height":{"unit":"cm","value":8},"image_link":"https://www.example.com/images/prod12345-var123.jpg","inventory_qty":100,"is_bundle":false,"length":{"unit":"cm","value":28},"lifestyle_image_link":"https://www.example.com/lifestyle/prod12345-var123.jpg","link":"https://www.example.com/product/prod12345/variant/var123","material":"Fabric","mobile_link":"https://m.example.com/product/prod12345/variant/var123","multipack":1,"offer_id":"PROD12345_VAR123","pattern":"Solid","pause":"ads","price":29.99,"return_address_label":"Warehouse A","return_policy_label":"30-Day Returns","sale_price":24.99,"sale_price_effective_date":"2024-08-21T00:00:00Z/2024-09-01T00:00:00Z","shipping_height":{"unit":"cm","value":10},"shipping_label":"Standard Shipping","shipping_length":{"unit":"cm","value":30},"shipping_weight":{"unit":"kg","value":1.2},"shipping_width":{"unit":"cm","value":20},"ships_from_country":"US","size":"M","size_system":"US","size_type":"regular","sku":"SKU123","tags":"Sample, Product, Tag","unit_pricing_base_measure":{"unit":"kg","value":1},"unit_pricing_measure":{"unit":"kg","value":1.5},"values":{"Color":"Blue","Size":"L"},"variant_description":"This is a blue, large variant of the sample product.","variant_id":"VAR123","variant_title":"Blue, L","virtual_model_link":"https://www.example.com/3d-models/prod12345-var123","weight":{"unit":"kg","value":1.1},"width":{"unit":"cm","value":18}}},"PydanticCertificationAuthority":{"type":"string","enum":["CERTIFICATION_AUTHORITY_UNSPECIFIED","ADEME","BMWK","EPA","EC"],"title":"PydanticCertificationAuthority"},"PydanticCertificationName":{"type":"string","enum":["CERTIFICATION_NAME_UNSPECIFIED","ENERGY_STAR","ENERGY_STAR_MOST_EFFICIENT","EPREL","EU_ECOLABEL","VEHICLE_ENERGY_EFFICIENCY","VEHICLE_ENERGY_EFFICIENCY_DISCHARGED_BATTERY"],"title":"PydanticCertificationName"},"RefreshToken":{"properties":{"refresh_token":{"type":"string","title":"Refresh Token"}},"type":"object","required":["refresh_token"],"title":"RefreshToken"},"ShipmentInfo":{"properties":{"shipment_id":{"type":"string","title":"Shipment ID","description":"The unique identifier for the shipment."},"tracking_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tracking ID","description":"The tracking ID of the shipment. This is required if earliestDeliveryPromiseTime, latestDeliveryPromiseTime, or actualDeliveryTime is absent.","default":""},"carrier_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Carrier Name","description":"The name of the shipping carrier for the delivery. This is required if earliestDeliveryPromiseTime, latestDeliveryPromiseTime, or actualDeliveryTime is absent.","default":""},"carrier_service_name":{"type":"string","title":"Carrier Service Name","description":"The service type for fulfillment, e.g., GROUND, FIRST_CLASS, etc."},"shipped_time":{"type":"string","format":"date-time","title":"Shipped Time","description":"The time when the shipment was shipped. Include the year and timezone string, if available."},"earliest_delivery_promise_time":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Earliest Delivery Promise Time","description":"The earliest delivery promised time. Include the year and timezone string, if available."},"latest_delivery_promise_time":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Latest Delivery Promise Time","description":"The latest delivery promised time. Include the year and timezone string, if available."},"actual_delivery_time":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Actual Delivery Time","description":"The time when the shipment was actually delivered. Include the year and timezone string, if available."},"shipping_status":{"$ref":"#/components/schemas/ShippingState","title":"Shipping Status","description":"The state of the shipment:\n- SHIPPING_STATE_UNSPECIFIED: The shipping status is not known to merchant.\n- SHIPPED: All items are shipped.\n- DELIVERED: The shipment is already delivered."},"origin_postal_code":{"anyOf":[{"type":"string","maxLength":20,"minLength":1},{"type":"null"}],"title":"Origin Postal Code","description":"The postal code where the order originates, with a maximum length of 20 characters."},"origin_region_code":{"type":"string","enum":["001","002","003","005","009","011","013","014","015","017","018","019","021","029","030","034","035","039","053","054","057","061","142","143","145","150","151","154","155","202","419","AC","AD","AE","AF","AG","AI","AL","AM","AO","AQ","AR","AS","AT","AU","AW","AX","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BL","BM","BN","BO","BQ","BR","BS","BT","BV","BW","BY","BZ","CA","CC","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CP","CR","CU","CV","CW","CX","CY","CZ","DE","DG","DJ","DK","DM","DO","DZ","EA","EC","EE","EG","EH","ER","ES","ET","EU","EZ","FI","FJ","FK","FM","FO","FR","GA","GB","GD","GE","GF","GG","GH","GI","GL","GM","GN","GP","GQ","GR","GS","GT","GU","GW","GY","HK","HM","HN","HR","HT","HU","IC","ID","IE","IL","IM","IN","IO","IQ","IR","IS","IT","JE","JM","JO","JP","KE","KG","KH","KI","KM","KN","KP","KR","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MF","MG","MH","MK","ML","MM","MN","MO","MP","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PN","PR","PS","PT","PW","PY","QA","QO","RE","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","SS","ST","SV","SX","SY","SZ","TA","TC","TD","TF","TG","TH","TJ","TK","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","UM","UN","US","UY","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","XA","XB","XK","YE","YT","ZA","ZM","ZW","ZZ"],"title":"Origin Region Code","description":"The region or country code where the order originates, typically in ISO 3166-1 alpha-2 format, with a maximum length of 2 characters."}},"type":"object","required":["shipment_id","carrier_service_name","shipped_time","shipping_status","origin_postal_code","origin_region_code"],"title":"ShipmentInfo","example":{"carrier_name":"FedEx","carrier_service_name":"Overnight","earliest_delivery_promise_time":"2025-01-01T08:00:00Z","latest_delivery_promise_time":"2025-01-01T18:00:00Z","origin_postal_code":"90210","origin_region_code":"US","shipment_id":"SHIP123","shipped_time":"2024-12-31T10:30:00Z","shipping_status":"SHIPPED","tracking_id":"TRACK456"}},"ShipmentLineItemMapping":{"properties":{"shipment_id":{"type":"string","title":"Shipment ID","description":"Required. The unique identifier for the shipment. This field will be hashed in the returned OrderTrackingSignal creation response."},"line_item_id":{"type":"string","title":"Line Item ID","description":"Required. The unique identifier for the line item in the shipment."},"quantity":{"type":"integer","title":"Quantity","description":"Required. The quantity of the line item in the shipment, represented as a string in int64 format."}},"type":"object","required":["shipment_id","line_item_id","quantity"],"title":"ShipmentLineItemMapping","example":{"line_item_id":"LINE789","quantity":2,"shipment_id":"SHIP123"}},"ShippingDimension":{"properties":{"value":{"type":"number","maximum":400.0,"minimum":1.0,"title":"Value"},"unit":{"$ref":"#/components/schemas/DimensionUnit"}},"type":"object","required":["value","unit"],"title":"ShippingDimension"},"ShippingState":{"type":"string","enum":["SHIPPING_STATE_UNSPECIFIED","SHIPPED","DELIVERED"],"title":"ShippingState"},"ShippingWeight":{"properties":{"value":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Value"},"unit":{"anyOf":[{"$ref":"#/components/schemas/VariantWeightUnit"},{"type":"null"}]}},"type":"object","title":"ShippingWeight"},"ShopId":{"properties":{"shop_id":{"anyOf":[{"type":"string","minLength":1},{"type":"integer"}],"title":"Shop Id"}},"type":"object","required":["shop_id"],"title":"ShopId"},"SizeSystem":{"type":"string","enum":["AU","BR","CN","DE","EU","FR","IT","JP","MEX","UK","US",""],"title":"SizeSystem"},"SizeType":{"type":"string","enum":["regular","petite","plus","tall","big","maternity",""],"title":"SizeType"},"SuccessResponse":{"properties":{"data":{"additionalProperties":true,"type":"object","title":"Data"},"status":{"type":"boolean","title":"Status","description":"Indicates if the request was successful or not.","default":true},"code":{"type":"integer","title":"Code","description":"HTTP status code.","default":200},"message":{"type":"string","title":"Message","description":"A message describing the success.","default":"Success"}},"type":"object","required":["data"],"title":"SuccessResponse"},"TooManyRequestError":{"properties":{"message":{"type":"string","title":"Message","description":"A message describing the error.","default":"Too Many Request."},"code":{"type":"integer","title":"Code","description":"HTTP status code.","default":429},"status":{"type":"boolean","title":"Status","description":"Indicates if the request was successful or not.","default":false},"error_code":{"type":"integer","title":"Error Code","description":"Error code associated with the error, if any.","default":0}},"type":"object","title":"TooManyRequestError"},"UpdateLocalInventoryBody":{"properties":{"variant_id":{"type":"string","maxLength":24,"minLength":1,"title":"Variant ID","description":"Identifier of the variant this local inventory data belongs to. Only supported for variants that were added through this API."},"locations":{"items":{"$ref":"#/components/schemas/VariantLocationItem"},"type":"array","title":"Locations","description":"Per-location availability and quantity for this variant."},"shop_id":{"anyOf":[{"type":"string","minLength":1},{"type":"integer"}],"title":"Shop ID","description":"Identifier of the shop this local inventory data belongs to."}},"type":"object","required":["variant_id","locations","shop_id"],"title":"UpdateLocalInventoryBody","example":{"locations":[{"availability":"in_stock","location_id":"STORE-101","quantity":25},{"availability":"out_of_stock","location_id":"STORE-102","quantity":0}],"shop_id":"171","variant_id":"VAR123"}},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"VariantDetail":{"properties":{"section_name":{"anyOf":[{"type":"string","maxLength":140},{"type":"null"}],"title":"Section Name"},"attribute_name":{"type":"string","maxLength":140,"minLength":1,"title":"Attribute Name"},"attribute_value":{"type":"string","maxLength":1000,"minLength":1,"title":"Attribute Value"}},"type":"object","required":["attribute_name","attribute_value"],"title":"VariantDetail"},"VariantDimension":{"properties":{"value":{"type":"number","maximum":3000.0,"minimum":1.0,"title":"Value"},"unit":{"$ref":"#/components/schemas/DimensionUnit"}},"type":"object","required":["value","unit"],"title":"VariantDimension"},"VariantInventoryBody":{"properties":{"variant_id":{"type":"string","maxLength":24,"minLength":1,"title":"Variant ID","description":"Identifier of the variant this local inventory data belongs to. Only supported for variants that were added through this API."},"locations":{"items":{"$ref":"#/components/schemas/VariantLocationItem"},"type":"array","title":"Locations","description":"Per-location availability and quantity for this variant."}},"type":"object","required":["variant_id","locations"],"title":"VariantInventoryBody","example":{"locations":[{"availability":"in_stock","location_id":"STORE-101","quantity":25},{"availability":"out_of_stock","location_id":"STORE-102","quantity":0}],"variant_id":"VAR123"}},"VariantLocationItem":{"properties":{"location_id":{"type":"string","maxLength":24,"minLength":1,"title":"Location ID","description":"Identifier of an existing store location (created via the Locations API) this inventory entry applies to."},"availability":{"$ref":"#/components/schemas/LocationAvailability","title":"Availability","description":"Stock availability of the variant at this location."},"quantity":{"anyOf":[{"type":"integer","maximum":1000000.0,"minimum":0.0},{"type":"null"}],"title":"Quantity","description":"Number of units available at this location. Must be between 0 and 1,000,000."}},"type":"object","required":["location_id","availability"],"title":"VariantLocationItem"},"VariantWeight":{"properties":{"value":{"anyOf":[{"type":"number","maximum":2000.0,"minimum":0.0},{"type":"null"}],"title":"Value"},"unit":{"$ref":"#/components/schemas/VariantWeightUnit"}},"type":"object","required":["unit"],"title":"VariantWeight"},"VariantWeightUnit":{"type":"string","enum":["lb","oz","g","kg",""],"title":"VariantWeightUnit"},"WeightUnit":{"type":"string","enum":["gm","kg","oz","lb","floz","pt","qt","gal","ml","cl","l","cbm","in","ft","yd","cm","m","sqft","sqm","ct"],"title":"WeightUnit"}},"securitySchemes":{"HTTPBearer":{"type":"http","scheme":"bearer"}}},"tags":[{"name":"Authenticate Application","description":"The Authentication API provides secure methods for validating access tokens, ensuring that users and applications maintain authenticated sessions without requiring constant reauthentication.\n\n **Where to Generate Tokens:** \n\n To generate the necessary tokens, you first need to create a store and then create an application within that store. During this process, a client_id and client_secret will be generated. These credentials are used during the authentication process to obtain access and refresh tokens, which are then used to access protected resources and manage token lifecycles.\n\nUsing these endpoints, you can effectively manage authentication, ensuring secure and continuous access to your application."},{"name":"Products","description":"The Product APIs offers a comprehensive set of endpoints designed to handle all aspects of product management. Whether you're managing a single product or performing bulk operations, these endpoints provide the flexibility and control needed to maintain an up-to-date product catalog efficiently.\n\n**Rate Limiting**\n\nTo ensure optimal performance and fair usage, rate limits are enforced on the Product APIs. Each public individual API endpoints is restricted to 500 requests per 60 seconds and batch API is restricted to 20 requests per 60 seconds. If this limit is exceeded, the API will return a 429 Too Many Requests error."},{"name":"Variants","description":"The Variant APIs provides a robust set of endpoints for managing product variants within your catalog. Variants are essential for offering different versions of a product, such as size, color, or material. These endpoints give you the flexibility to manage individual variants or perform bulk operations, ensuring your product offerings are precise and up-to-date.\n\n**Rate Limiting**\n\nTo ensure optimal performance and fair usage, rate limits are enforced on the Variant APIs. Each public individual API endpoint is restricted to 500 requests per 60 seconds and batch API is restricted to 20 requests per 60 seconds. If this limit is exceeded, the API will return a 429 Too Many Requests error."},{"name":"Locations","description":"The Locations APIs allow merchants to manage their physical store locations. Use these endpoints to create, update, delete, and retrieve store locations. Each location is identified by a merchant-provided location_id unique per shop.\n\n**Rate Limiting**\n\nEach endpoint is restricted to 500 requests per 60 seconds. If this limit is exceeded, the API will return a 429 Too Many Requests error."},{"name":"Local Inventory","description":"The Local Inventory APIs allow merchants to manage in-store inventory availability for product variants across their physical locations. Use these endpoints to create, update, delete, and retrieve local inventory data per variant. Variants with local inventory data become eligible for Google Local Inventory Ads (LIA).\n\n**Rate Limiting**\n\nIndividual endpoints are restricted to 500 requests per 60 seconds. Bulk endpoints are restricted to 20 requests per 60 seconds. If these limits are exceeded, the API will return a 429 Too Many Requests error."},{"name":"Orders","description":"The Orders APIs helps merchants to track and manage customer's orders for a specific shop. It provides functionality to add, update, and retrieve order details, ensuring accurate synchronization between the store and external systems."},{"name":"Task Status","description":"The Task Status API enables you to check the current status of a specific task by using its task ID. This is useful for monitoring the progress of tasks, ensuring they are completed as expected, and handling any issues that arise."},{"name":"Error Codes","description":"We use error codes to categorize and troubleshoot issues more effectively. Each error code is prefixed to indicate the category of the issue:\n\n### Authentication Errors (Prefix 11)\nThese errors are related to authentication failures, such as invalid credentials, expired tokens, or insufficient permissions. They typically occur when the API request lacks proper authentication or the provided credentials are incorrect.\n\n### Shop Errors (Prefix 12)\nThese errors pertain to issues related to shop identification and access. They include errors like 'shop not found' when accessing a specific shop's resources.\n\n### Products and Variants Errors (Prefix 13)\nThese errors are related to product and variant management. They include issues such as missing or duplicate product/variant IDs, invalid data in variants, or constraints related to product configurations.\n\n### Locations Errors (Prefix 14)\nThese errors are related to managing store locations, such as a location already existing, a location not being found, or a location that cannot be deleted because it is mapped to a Google Business Profile store.\n\n### Local Inventory Errors (Prefix 15)\nThese errors are related to managing local inventory data for Google Local Inventory Ads (LIA), such as missing local inventory records, invalid location_ids, or a variant not being sourced from this API.\n\n---\n\n### Error Code List\n\n| Error Code  | Message | Cause | Steps to Resolve |\n|------------|---------|-------|-----------------|\n| 1101 | Invalid credentials. | The credentials provided are incorrect or invalid. | <br>- Double-check the API credentials.<br><br>- Ensure the credentials have not expired. |\n| 1102 | Invalid token. Please try again. | The token provided is incorrect or invalid. | <br>- Double-check the API token. |\n| 1103 | You don't have permission to access this resource. | The provided token is not valid for the specified shop. | <br>- Provide a valid token and ensure the correct shop ID is being used. |\n| 1104 | Token expired. | The provided token has expired. | <br>- Generate a new token. |\n| 1105 | Unauthorized IP address or domain: | The API request was made from an IP address or domain that is not authorized to access the system. This occurs when the source is not included in the allowed IP address or domain list. | <br>- Ensure that the IP address or domain making the request is added to the list of authorized sources in the API credentials section. |\n| 1106 | Invalid JSON payload. | The data provided in the API request does not conform to the expected format, type, or value range. This can happen due to incorrect data types, missing required fields, invalid characters, or values that do not meet the validation criteria. | <br>- Ensure that all data in the request conforms to the API's specifications. This includes checking data types, value ranges, and required fields.<br><br>- Consult the API documentation to understand the expected data structure, including any constraints or validation rules that must be followed. |\n| 1201 | Shop not found. | The shop ID provided does not match any existing shop in the system. | <br>- Verify the shop ID is correct.<br><br>- Ensure the shop exists in the system. |\n| 1301 | Product not found. | The product ID provided does not match any existing product in the shop. | <br>- Double-check the product ID.<br><br>- Ensure the product exists in the shop. |\n| 1302 | Variant not found. | The variant ID provided does not match any existing variant in the product. | <br>- Double check variant ID.<br><br>- Ensure the variant exists within the specified product. |\n| 1303 | Duplicate values found. | There are duplicate records or values in the data payload sent to the API. | <br>- Remove any duplicate entries from the payload before sending it.<br><br>- Ensure all IDs and values are unique. |\n| 1304 | Missing required values based on the provided options. | One or more required fields for the variant are missing. | <br>- Check the required fields for variants and ensure they are included in the payload.<br><br>- Add the missing fields with valid data. |\n| 1305 | Duplicate variant ID in another products. | The variant ID is being used in multiple products, which is not allowed. | <br>- Ensure each variant ID is unique within the scope of the products.<br><br>- If necessary, generate a new unique variant ID for the product. |\n| 1306 | Duplicate values found in the variant's value field for given options in the product. | There are duplicate values within the variant's value fields for specific options. | <br>- Review the variant values and remove any duplicates.<br><br>- Ensure that each option has unique values within the product's variants. |\n| 1307 | Can't remove the below values from the 'default_values' field because there are some variants that are dependent on it. | An attempt was made to remove values from the default_values field, but those values are still being used by some variants. | <br>- Identify the variants that depend on the values in default_values.<br><br>- Either update or delete the dependent variants before removing the values from default_values. |\n| 1308 | Payload variants don't have required values for given options. Send a new list of variants with the required values field. | The provided variants those in the payload are missing required values for specified options. | <br>- Update the variants with the required values. |\n| 1309 | Variant link should contain shop URL. | The variant link provided does not include the required shop URL. | <br>- Ensure that the variant link is correctly formatted to include the shop's URL.<br><br>- Verify the URL structure follows the expected pattern for variant links. |\n| 1310 | Only one variant can be created inside the product, which has blank options. | A product with blank options should only have one variant, but multiple variants were attempted to be created. | <br>- Ensure that if the product options are blank, only one variant is created.<br><br>- Review the product structure and adjust the variant creation accordingly. |\n| 1311 | The variant(s) already exists. | All the variants you attempted to create already exist for the product. | <br>- If you intended to create new variants, ensure the variant data is unique and doesn’t duplicate existing ones. |\n| 1312 | Given variants are not found inside the specified product ID. | The variants provided do not match any existing variants under the specified product ID. | <br>- Check the variant IDs to ensure they belong to the correct product.<br><br>- Verify the product ID and ensure the variants exist under it. |\n| 1313 | No valid variants to update or create. | There are no variants that match the criteria for updating or creating. | <br>- Ensure that you provide valid variants that meet the necessary criteria for updating or creating. |\n| 1314 | No variants are available for deletion. | There are no variants that match the criteria for deletion. | <br>- Double-check the variant IDs and ensure they exist.<br><br>- Confirm that the deletion criteria correctly match the variants you want to delete. |\n| 1315 | The product(s) already exists. | The Product(s) you're trying to insert is already exists. | <br>- Ensure that Product IDs are unique for each product(s), make sure you're using the correct Product ID. |\n| 1316 | Variant can't be deleted as it is default variant. | The variant you are trying to delete is set as the default variant for the product. | <br>- Change the default variant to another variant before attempting to delete this one. |\n| 1317 | Variant ID is existed in another product kindly use valid variant ID. | The Variant ID you are trying to use is already associated with another product. | <br>- Use a unique Variant ID that is not assigned to any other product. |\n| 1318 | The size of the payload data in the request exceeds the maximum allowed limit. Please reduce the size of your payload data and try again. | The data payload in the request is larger than the allowed limit. | <br>- Reduce the size of your payload data and try again. Consider breaking the data into smaller chunks or optimising the data format. |\n| 1319 | Duplicate variant IDs found in a payload. | The payload contains variant IDs that are duplicated. | <br>- Ensure that all variant IDs in the payload are unique before resubmitting. |\n| 1320 | At least one valid variant should be inside a product's variant list. | The product's variant list does not contain any valid variants. | <br>- Ensure that the variant list for the product includes at least one valid variant. |\n| 1321 | All given products are ineligible. | None of the products provided meet the eligibility criteria. | <br>- Review the products to ensure they meet the required criteria for eligibility. |\n| 1322 | Task not found. | The provided task ID does not exist. | <br>- Ensure that you provide a correct and existing task ID. |\n| 1323 | Products or Variants list cannot be blank. | The API request was made with an empty product or variant list, which is not allowed. This can happen if the list of products or variants is missing, incorrectly formatted, or unintentionally left empty in the request payload. | <br>- Ensure that the product or variant list in the API request is populated with valid data. Double-check that the list is correctly formatted according to the API's requirements. |\n| 1324 | Maximum 500 products and 200 variants per product are allowed per batch request. Maximum batch size should be lower than 15 MB. | The API request contains more than 500 products or 200 variants per product, exceeding the allowed limit for a single batch request. This restriction is in place to ensure optimal performance and prevent overloading the system. | <br>- Split the list of products or variants into smaller batches, each containing no more than 500 product or 200 variants per product, and send multiple requests sequentially. |\n| 1325 | Multiple data sources are not allowed for the same product. | The product has already been added via one data source (e.g., API or CSV). An attempt to add or update or delete the same product using a different data source is not permitted. This restriction ensures data consistency and prevents conflicts between different sources. | <br>- Use the original data source (API or CSV) that was initially used to manage the product for any further updates or changes. Ensure that each product is only associated with one data source throughout its lifecycle. |\n| 1326 | Variants must be provided if the options field is included. | When the options field is included in the product data, but no variants are provided. The options field is used to define product variations (e.g., size, color), and without corresponding variants, the product data is incomplete. | <br>- Check if the options field is included in the product data. If options are present, ensure that at least one valid variant is provided. |\n| 1327 | Maximum 2000 variants are allowed per batch request. | The number of variants provided in a single batch request exceeds the allowed maximum of 2000. Sending too many variants at once can lead to performance and processing issues. | <br>- Limit the number of variants in each batch request to a maximum of 2000. <br>- If you have more than 2000 variants, split them into multiple batch requests. |\n| 1328 | Offer ID already assigned to another variant. | The offer ID is being used in multiple variants, which is not allowed. | <br>- Ensure each offer ID is unique within the scope of the variant.<br><br>- If necessary, generate a new unique offer ID for the variant. |\n| 1401 | The location already exists. | A location with the same location_id already exists for this shop. | <br>- Use a unique location_id, or update the existing location instead of creating a new one. |\n| 1402 | Location not found. | The location_id provided does not match any existing location for this shop. | <br>- Double-check the location_id.<br><br>- Ensure the location exists and has not been deleted. |\n| 1403 | This location cannot be deleted because it is currently mapped to a store. Remove the existing mappings before deleting the location. | The location is currently mapped to a Google Business Profile store and cannot be deleted while the mapping exists. | <br>- Remove the existing Google Business Profile store mapping before deleting the location. |\n| 1502 | Local inventory not found for variant {variant_id}. | No local inventory record exists yet for the given variant_id. | <br>- Create local inventory data for the variant first using the POST endpoint before attempting to update or delete it. |\n| 1503 | Invalid location_id(s): {ids}. Locations not found for this shop. | One or more location_id values in the request do not match an existing, non-deleted location for this shop. | <br>- Ensure every location_id in the request was created via the Locations API and still exists for this shop. |\n| 1504 | Local inventory already exists for variant {variant_id}. | Local inventory data already exists for this variant and the request did not set upsert to true. | <br>- Set upsert to true to update the existing record, or use the PUT endpoint instead. |\n| 1505 | Local inventory is only supported for variants added via API. variant_id: {variant_id} is not sourced from API. | The variant was created through a source other than this API (e.g. CSV import), and local inventory management is only supported for API-sourced variants. | <br>- Local inventory can only be managed for variants that were originally created through this API. |"}],"servers":[{"url":"https://api.simprosysapis.com"}]}