row_id: 45254

Column Value
row_id 45254
time_created 2026-06-22 22:50:22.012376
endpoint https://usmall-catalog.shopfans.io/log/product_upload
params
body {"product": {"rating": null, "rating_count": null, "brand": "Salsa", "name": "Spearfish C Eagle 90 Mountain Bike", "description": "What Our Gearhead\u00ae Experts Are Saying:\"I\u2019d put this build at the top of the list for riders who want a modern endurance XC bike with minimal compromises. The Transmission drivetrain is insanely precise under load, and paired with the Split Pivot suspension it feels efficient no matter how tired you get. It\u2019s the bike I\u2019d choose for long training blocks, stage races, or any ride where consistency really matters.\"We trust the Spearfish C Eagle 90 Transmission Bike when the ride plan stretches from sunrise to well past when legs feel fresh. Built by Salsa for endurance XC racing and all-day trail mileage, this bike keeps efficiency high and fatigue low when the hours stack up. Whether we\u2019re lining up for a marathon race or settling into a multi-day route, the Spearfish delivers a calm, predictable ride that lets us stay focused on forward progress.Underneath that smooth ride is Salsa\u2019s Split Pivot suspension platform, offering adjustable rear travel and active braking performance that shines on technical climbs and long descents alike. The carbon frame balances stiffness and comfort, while thoughtful frame features like top tube mounts, multiple bottle positions, and molded protection support self-supported adventures as well as race-day efficiency.Heads up - We do our best to keep bike specs and images current, but occasional component changes can happen without warning-and sometimes the photos might not show the exact build you'll receive. If you want to double-check the details, our Gearheads are always here to help.", "data": {"dataFacets": []}, "categories": ["Bike > Bikes & Frames > Mountain Bikes > XC Full Suspension Bikes"], "gender": "unisex", "product_images": [], "market_id": 17, "remote_code": "salsa-spearfish-c-eagle-90-mountain-bike", "is_lost": 0, "variants": [{"remote_code": "SLAB03N-GRAGRA-L", "upc": "", "email_meta": "SLAB03N", "remote_url": "https://www.backcountry.com/salsa-spearfish-c-eagle-90-mountain-bike?skid=SLAB03N-GRAGRA-L", "size": "L", "origin_color": "Graphite Gray", "price": 5799.0, "variant_images": ["https://www.backcountry.com/images/items/1200/SLA/SLAB03N/GRAGRA.jpg", "https://www.backcountry.com/images/items/1200/SLA/SLAB03N/GRAGRA_D10.jpg", "https://www.backcountry.com/images/items/1200/SLA/SLAB03N/GRAGRA_D9.jpg", "https://www.backcountry.com/images/items/1200/SLA/SLAB03N/GRAGRA_D8.jpg", "https://www.backcountry.com/images/items/1200/SLA/SLAB03N/GRAGRA_D7.jpg", "https://www.backcountry.com/images/items/1200/SLA/SLAB03N/GRAGRA_D6.jpg"], "stock_count": 1, "data": ["transfer"], "image_url": "https://www.backcountry.com/images/items/1200/SLA/SLAB03N/GRAGRA.jpg", "description": "Graphite Gray, L", "colors": ["Graphite Gray"]}, {"remote_code": "SLAB03N-GRAGRA-M", "upc": "", "email_meta": "SLAB03N", "remote_url": "https://www.backcountry.com/salsa-spearfish-c-eagle-90-mountain-bike?skid=SLAB03N-GRAGRA-M", "size": "M", "origin_color": "Graphite Gray", "price": 5799.0, "variant_images": ["https://www.backcountry.com/images/items/1200/SLA/SLAB03N/GRAGRA.jpg", "https://www.backcountry.com/images/items/1200/SLA/SLAB03N/GRAGRA_D10.jpg", "https://www.backcountry.com/images/items/1200/SLA/SLAB03N/GRAGRA_D9.jpg", "https://www.backcountry.com/images/items/1200/SLA/SLAB03N/GRAGRA_D8.jpg", "https://www.backcountry.com/images/items/1200/SLA/SLAB03N/GRAGRA_D7.jpg", "https://www.backcountry.com/images/items/1200/SLA/SLAB03N/GRAGRA_D6.jpg"], "stock_count": 1, "data": ["transfer"], "image_url": "https://www.backcountry.com/images/items/1200/SLA/SLAB03N/GRAGRA.jpg", "description": "Graphite Gray, M", "colors": ["Graphite Gray"]}, {"remote_code": "SLAB03N-GRAGRA-S", "upc": "", "email_meta": "SLAB03N", "remote_url": "https://www.backcountry.com/salsa-spearfish-c-eagle-90-mountain-bike?skid=SLAB03N-GRAGRA-S", "size": "S", "origin_color": "Graphite Gray", "price": 5799.0, "variant_images": ["https://www.backcountry.com/images/items/1200/SLA/SLAB03N/GRAGRA.jpg", "https://www.backcountry.com/images/items/1200/SLA/SLAB03N/GRAGRA_D10.jpg", "https://www.backcountry.com/images/items/1200/SLA/SLAB03N/GRAGRA_D9.jpg", "https://www.backcountry.com/images/items/1200/SLA/SLAB03N/GRAGRA_D8.jpg", "https://www.backcountry.com/images/items/1200/SLA/SLAB03N/GRAGRA_D7.jpg", "https://www.backcountry.com/images/items/1200/SLA/SLAB03N/GRAGRA_D6.jpg"], "stock_count": 1, "data": ["transfer"], "image_url": "https://www.backcountry.com/images/items/1200/SLA/SLAB03N/GRAGRA.jpg", "description": "Graphite Gray, S", "colors": ["Graphite Gray"]}, {"remote_code": "SLAB03N-GRAGRA-XL", "upc": "", "email_meta": "SLAB03N", "remote_url": "https://www.backcountry.com/salsa-spearfish-c-eagle-90-mountain-bike?skid=SLAB03N-GRAGRA-XL", "size": "XL", "origin_color": "Graphite Gray", "price": 5799.0, "variant_images": ["https://www.backcountry.com/images/items/1200/SLA/SLAB03N/GRAGRA.jpg", "https://www.backcountry.com/images/items/1200/SLA/SLAB03N/GRAGRA_D10.jpg", "https://www.backcountry.com/images/items/1200/SLA/SLAB03N/GRAGRA_D9.jpg", "https://www.backcountry.com/images/items/1200/SLA/SLAB03N/GRAGRA_D8.jpg", "https://www.backcountry.com/images/items/1200/SLA/SLAB03N/GRAGRA_D7.jpg", "https://www.backcountry.com/images/items/1200/SLA/SLAB03N/GRAGRA_D6.jpg"], "stock_count": 1, "data": ["transfer"], "image_url": "https://www.backcountry.com/images/items/1200/SLA/SLAB03N/GRAGRA.jpg", "description": "Graphite Gray, XL", "colors": ["Graphite Gray"]}]}, "remote_url": "https://www.backcountry.com/salsa-spearfish-c-eagle-90-mountain-bike", "parsing_type": "full", "finalize": false, "parsing_code": 200, "parsing_text": "[200] Success: Item: 'salsa-spearfish-c-eagle-90-mountain-bike' - parsed successfully. additional_error_text=''"}
status_code 500
error_text File "/opt/working_folder/middlewares/catch_errors_middleware/catch_500_errors.py", line 15, in dispatch response = await call_next(request) ^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 84, in call_next raise app_exc File "/usr/local/lib/python3.11/site-packages/starlette/middleware/base.py", line 70, in coro await self.app(scope, receive_or_disconnect, send_no_error) File "/usr/local/lib/python3.11/site-packages/starlette/middleware/cors.py", line 83, in __call__ await self.app(scope, receive, send) File "/usr/local/lib/python3.11/site-packages/starlette/middleware/exceptions.py", line 79, in __call__ raise exc File "/usr/local/lib/python3.11/site-packages/starlette/middleware/exceptions.py", line 68, in __call__ await self.app(scope, receive, sender) File "/usr/local/lib/python3.11/site-packages/fastapi/middleware/asyncexitstack.py", line 20, in __call__ raise e File "/usr/local/lib/python3.11/site-packages/fastapi/middleware/asyncexitstack.py", line 17, in __call__ await self.app(scope, receive, send) File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 718, in __call__ await route.handle(scope, receive, send) File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 276, in handle await self.app(scope, receive, send) File "/usr/local/lib/python3.11/site-packages/starlette/routing.py", line 66, in app response = await func(request) ^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 274, in app raw_response = await run_endpoint_function( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/fastapi/routing.py", line 193, in run_endpoint_function return await run_in_threadpool(dependant.call, **values) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/starlette/concurrency.py", line 41, in run_in_threadpool return await anyio.to_thread.run_sync(func, *args) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/anyio/to_thread.py", line 33, in run_sync return await get_asynclib().run_sync_in_worker_thread( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 877, in run_sync_in_worker_thread return await future ^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 807, in run result = context.run(func, *args) ^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/working_folder/api/logging_router/api/product_logging.py", line 495, in log_product_upload add_product_history(db, market_id, remote_code, json_data) File "/opt/working_folder/api/logging_router/api/product_logging.py", line 319, in add_product_history .first() ^^^^^^^ File "/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/query.py", line 2728, in first return self.limit(1)._iter().first() # type: ignore ^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/query.py", line 2827, in _iter result: Union[ScalarResult[_T], Result[_T]] = self.session.execute( ^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 2362, in execute return self._execute_internal( ^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 2247, in _execute_internal result: Result[Any] = compile_state_cls.orm_execute_statement( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/context.py", line 305, in orm_execute_statement result = conn.execute( ^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1418, in execute return meth( ^^^^^ File "/usr/local/lib/python3.11/site-packages/sqlalchemy/sql/elements.py", line 515, in _execute_on_connection return connection._execute_clauseelement( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1640, in _execute_clauseelement ret = self._execute_context( ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1846, in _execute_context return self._exec_single_context( ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1986, in _exec_single_context self._handle_dbapi_exception( File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 2355, in _handle_dbapi_exception raise sqlalchemy_exception.with_traceback(exc_info[2]) from e File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1967, in _exec_single_context self.dialect.do_execute( File "/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/default.py", line 941, in do_execute cursor.execute(statement, parameters)