bytekit-sdk 0.8.2__tar.gz → 0.9.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (254) hide show
  1. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/CHANGELOG.md +32 -0
  2. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/PKG-INFO +1 -1
  3. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/pyproject.toml +1 -1
  4. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/api/fetch/get_fetch.py +0 -4
  5. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/api/fetch/post_fetch.py +0 -4
  6. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/api/search/create_search.py +14 -14
  7. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/__init__.py +4 -4
  8. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/bulk_completed_webhook.py +9 -1
  9. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/create_bulk_response_202.py +20 -4
  10. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/create_fetch_bulk_response_202.py +20 -4
  11. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/create_scrape_bulk_response_202.py +20 -4
  12. bytekit_sdk-0.8.2/src/bytekit/models/create_search_response_502.py → bytekit_sdk-0.9.1/src/bytekit/models/create_search_response_503.py +8 -8
  13. bytekit_sdk-0.8.2/src/bytekit/models/create_search_response_502_error.py → bytekit_sdk-0.9.1/src/bytekit/models/create_search_response_503_error.py +1 -1
  14. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/delete_bulk_response_200.py +21 -2
  15. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/get_bulk_response_200.py +21 -2
  16. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/get_bulk_response_202.py +21 -2
  17. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/get_fetch_bulk_response_200.py +21 -2
  18. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/get_fetch_bulk_response_202.py +21 -2
  19. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/get_scrape_bulk_response_200.py +21 -2
  20. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/get_scrape_bulk_response_202.py +21 -2
  21. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/list_bulk_screenshots_response_200_items_item_type_0.py +4 -1
  22. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/.gitignore +0 -0
  23. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/LICENSE +0 -0
  24. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/README.md +0 -0
  25. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/__init__.py +0 -0
  26. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/api/__init__.py +0 -0
  27. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/api/account/__init__.py +0 -0
  28. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/api/account/get_account.py +0 -0
  29. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/api/bulk/__init__.py +0 -0
  30. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/api/bulk/create_bulk.py +0 -0
  31. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/api/bulk/delete_bulk.py +0 -0
  32. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/api/bulk/get_bulk.py +0 -0
  33. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/api/bulk/list_bulk_screenshots.py +0 -0
  34. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/api/fetch/__init__.py +0 -0
  35. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/api/fetch_bulk/__init__.py +0 -0
  36. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/api/fetch_bulk/create_fetch_bulk.py +0 -0
  37. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/api/fetch_bulk/get_fetch_bulk.py +0 -0
  38. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/api/monitors/__init__.py +0 -0
  39. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/api/monitors/create_monitor.py +0 -0
  40. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/api/monitors/delete_monitor.py +0 -0
  41. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/api/monitors/get_monitor.py +0 -0
  42. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/api/monitors/list_monitor_captures.py +0 -0
  43. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/api/monitors/list_monitors.py +0 -0
  44. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/api/monitors/update_monitor.py +0 -0
  45. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/api/scrape/__init__.py +0 -0
  46. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/api/scrape/create_scrape.py +0 -0
  47. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/api/scrape/get_scrape.py +0 -0
  48. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/api/scrape_bulk/__init__.py +0 -0
  49. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/api/scrape_bulk/create_scrape_bulk.py +0 -0
  50. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/api/scrape_bulk/get_scrape_bulk.py +0 -0
  51. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/api/screenshots/__init__.py +0 -0
  52. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/api/screenshots/create_screenshot.py +0 -0
  53. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/api/screenshots/get_screenshot.py +0 -0
  54. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/api/search/__init__.py +0 -0
  55. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/api/sitemap/__init__.py +0 -0
  56. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/api/sitemap/create_sitemap.py +0 -0
  57. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/api/sitemap/get_sitemap.py +0 -0
  58. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/api/usage/__init__.py +0 -0
  59. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/api/usage/get_usage.py +0 -0
  60. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/api/usage/get_usage_by_endpoint.py +0 -0
  61. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/api/usage/get_usage_daily.py +0 -0
  62. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/api/webhooks/__init__.py +0 -0
  63. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/api/webhooks/list_webhook_deliveries.py +0 -0
  64. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/api/webhooks/retry_webhook_delivery.py +0 -0
  65. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/client.py +0 -0
  66. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/errors.py +0 -0
  67. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/account_bearer_response.py +0 -0
  68. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/account_bearer_response_api_key.py +0 -0
  69. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/account_bearer_response_api_key_environment.py +0 -0
  70. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/account_bearer_response_auto_topup.py +0 -0
  71. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/account_bearer_response_plan.py +0 -0
  72. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/account_bearer_response_subscription.py +0 -0
  73. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/account_bearer_response_subscription_plan.py +0 -0
  74. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/account_bearer_response_subscription_status.py +0 -0
  75. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/account_session_response.py +0 -0
  76. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/account_session_response_notifications.py +0 -0
  77. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/account_session_response_plan.py +0 -0
  78. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/bandwidth_balance.py +0 -0
  79. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/billing_factor.py +0 -0
  80. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/billing_factor_name.py +0 -0
  81. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/billing_node.py +0 -0
  82. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/bulk_job_counters.py +0 -0
  83. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/bulk_mandatory_scrape_item.py +0 -0
  84. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/bulk_mandatory_scrape_item_error.py +0 -0
  85. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/bulk_mandatory_scrape_item_formats.py +0 -0
  86. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/bulk_mandatory_scrape_item_terminal_outcome.py +0 -0
  87. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/bulk_mandatory_scrape_item_type.py +0 -0
  88. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/capture_response.py +0 -0
  89. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/capture_response_outcome.py +0 -0
  90. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/clip.py +0 -0
  91. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/create_bulk_body.py +0 -0
  92. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/create_bulk_body_defaults.py +0 -0
  93. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/create_bulk_body_defaults_device.py +0 -0
  94. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/create_bulk_body_defaults_device_scale_factor_type_1.py +0 -0
  95. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/create_bulk_body_defaults_device_scale_factor_type_2_type_1.py +0 -0
  96. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/create_bulk_body_defaults_device_scale_factor_type_3_type_1.py +0 -0
  97. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/create_bulk_body_defaults_formats_item.py +0 -0
  98. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/create_bulk_body_defaults_type.py +0 -0
  99. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/create_bulk_body_defaults_viewport_type_0.py +0 -0
  100. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/create_bulk_body_defaults_wait_until.py +0 -0
  101. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/create_bulk_body_items_item.py +0 -0
  102. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/create_bulk_body_items_item_device.py +0 -0
  103. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/create_bulk_body_items_item_formats_item.py +0 -0
  104. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/create_bulk_body_items_item_scenario.py +0 -0
  105. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/create_bulk_body_items_item_type.py +0 -0
  106. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/create_bulk_body_items_item_viewport_type_0.py +0 -0
  107. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/create_bulk_body_items_item_wait_until.py +0 -0
  108. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/create_bulk_response_202_status.py +0 -0
  109. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/create_fetch_bulk_body.py +0 -0
  110. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/create_fetch_bulk_body_defaults.py +0 -0
  111. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/create_fetch_bulk_body_urls_item_type_1.py +0 -0
  112. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/create_fetch_bulk_response_202_status.py +0 -0
  113. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/create_scrape_bulk_body.py +0 -0
  114. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/create_scrape_bulk_body_custom.py +0 -0
  115. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/create_scrape_bulk_body_defaults.py +0 -0
  116. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/create_scrape_bulk_body_defaults_formats_item.py +0 -0
  117. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/create_scrape_bulk_body_items_item.py +0 -0
  118. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/create_scrape_bulk_body_items_item_custom.py +0 -0
  119. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/create_scrape_bulk_body_items_item_formats_item.py +0 -0
  120. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/create_scrape_bulk_response_202_status.py +0 -0
  121. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/create_search_body.py +0 -0
  122. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/create_search_body_date_range.py +0 -0
  123. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/create_search_body_type.py +0 -0
  124. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/create_search_response_200.py +0 -0
  125. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/create_search_response_200_results_item.py +0 -0
  126. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/create_search_response_200_results_item_image.py +0 -0
  127. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/credit_balance.py +0 -0
  128. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/delete_bulk_response_200_status.py +0 -0
  129. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/error.py +0 -0
  130. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/error_error.py +0 -0
  131. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/error_status.py +0 -0
  132. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/fetch_request.py +0 -0
  133. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/fetch_request_cache_ttl_type_1.py +0 -0
  134. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/fetch_request_custom.py +0 -0
  135. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/get_bulk_response_200_status.py +0 -0
  136. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/get_bulk_response_202_status.py +0 -0
  137. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/get_fetch_bulk_response_200_items_item_type_0.py +0 -0
  138. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/get_fetch_bulk_response_200_items_item_type_0_status.py +0 -0
  139. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/get_fetch_bulk_response_200_items_item_type_1.py +0 -0
  140. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/get_fetch_bulk_response_200_items_item_type_1_terminal_outcome.py +0 -0
  141. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/get_fetch_bulk_response_200_items_item_type_1_type.py +0 -0
  142. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/get_fetch_bulk_response_200_status.py +0 -0
  143. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/get_fetch_bulk_response_202_items_item_type_0.py +0 -0
  144. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/get_fetch_bulk_response_202_items_item_type_0_status.py +0 -0
  145. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/get_fetch_bulk_response_202_items_item_type_1.py +0 -0
  146. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/get_fetch_bulk_response_202_items_item_type_1_terminal_outcome.py +0 -0
  147. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/get_fetch_bulk_response_202_items_item_type_1_type.py +0 -0
  148. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/get_fetch_bulk_response_202_status.py +0 -0
  149. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/get_fetch_bulk_status.py +0 -0
  150. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/get_fetch_cache_ttl_type_1.py +0 -0
  151. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/get_scrape_bulk_response_200_status.py +0 -0
  152. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/get_scrape_bulk_response_202_status.py +0 -0
  153. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/get_scrape_bulk_status.py +0 -0
  154. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/get_usage_by_endpoint_response_200.py +0 -0
  155. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/get_usage_by_endpoint_response_200_rows_item.py +0 -0
  156. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/get_usage_by_endpoint_response_200_rows_item_endpoint.py +0 -0
  157. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/get_usage_by_endpoint_response_200_totals.py +0 -0
  158. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/get_usage_daily_response_200.py +0 -0
  159. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/get_usage_daily_response_200_data_item.py +0 -0
  160. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/get_usage_response_200.py +0 -0
  161. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/get_usage_response_200_plan_type.py +0 -0
  162. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/list_bulk_screenshots_response_200.py +0 -0
  163. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/list_bulk_screenshots_response_200_items_item_type_0_artifacts.py +0 -0
  164. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/list_bulk_screenshots_response_200_items_item_type_0_status.py +0 -0
  165. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/list_bulk_screenshots_response_200_items_item_type_0_type.py +0 -0
  166. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/list_bulk_screenshots_response_200_items_item_type_1.py +0 -0
  167. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/list_bulk_screenshots_response_200_items_item_type_1_terminal_outcome.py +0 -0
  168. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/list_bulk_screenshots_response_200_items_item_type_1_type.py +0 -0
  169. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/list_bulk_screenshots_status.py +0 -0
  170. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/list_monitor_captures_response_200.py +0 -0
  171. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/list_monitors_response_200.py +0 -0
  172. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/list_monitors_status.py +0 -0
  173. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/list_webhook_deliveries_response_200.py +0 -0
  174. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/list_webhook_deliveries_status.py +0 -0
  175. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/metadata.py +0 -0
  176. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/monitor_create_request.py +0 -0
  177. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/monitor_create_request_interval_type.py +0 -0
  178. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/monitor_create_request_notify_on.py +0 -0
  179. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/monitor_create_request_options.py +0 -0
  180. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/monitor_create_request_scrape_options.py +0 -0
  181. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/monitor_create_request_type.py +0 -0
  182. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/monitor_create_request_webhook_headers.py +0 -0
  183. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/monitor_create_response.py +0 -0
  184. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/monitor_response.py +0 -0
  185. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/monitor_response_interval_type.py +0 -0
  186. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/monitor_response_metadata_type_0.py +0 -0
  187. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/monitor_response_status.py +0 -0
  188. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/monitor_response_type.py +0 -0
  189. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/monitor_response_webhook_headers_type_0.py +0 -0
  190. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/monitor_update_request.py +0 -0
  191. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/monitor_update_request_interval_type.py +0 -0
  192. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/monitor_update_request_notify_on.py +0 -0
  193. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/monitor_update_request_options.py +0 -0
  194. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/monitor_update_request_scrape_options.py +0 -0
  195. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/monitor_update_request_status.py +0 -0
  196. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/monitor_update_request_webhook_headers.py +0 -0
  197. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/scrape_error_envelope.py +0 -0
  198. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/scrape_error_envelope_error.py +0 -0
  199. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/scrape_error_envelope_error_code.py +0 -0
  200. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/scrape_error_envelope_schema_version.py +0 -0
  201. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/scrape_error_envelope_status.py +0 -0
  202. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/scrape_formats.py +0 -0
  203. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/scrape_markdown_tokens.py +0 -0
  204. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/scrape_metadata.py +0 -0
  205. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/scrape_queued_envelope.py +0 -0
  206. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/scrape_queued_envelope_schema_version.py +0 -0
  207. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/scrape_queued_envelope_status.py +0 -0
  208. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/scrape_request.py +0 -0
  209. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/scrape_request_cache_ttl_type_1.py +0 -0
  210. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/scrape_request_custom.py +0 -0
  211. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/scrape_request_events_item.py +0 -0
  212. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/scrape_request_formats_item.py +0 -0
  213. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/scrape_request_markdown_images.py +0 -0
  214. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/scrape_request_markdown_links.py +0 -0
  215. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/scrape_request_markdown_mode.py +0 -0
  216. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/scrape_request_token_encoding.py +0 -0
  217. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/scrape_request_x_internal_scrape_path.py +0 -0
  218. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/scrape_scored_image.py +0 -0
  219. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/scrape_scored_link.py +0 -0
  220. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/scrape_stats.py +0 -0
  221. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/scrape_success_envelope.py +0 -0
  222. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/scrape_success_envelope_cache.py +0 -0
  223. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/scrape_success_envelope_custom.py +0 -0
  224. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/scrape_success_envelope_schema_version.py +0 -0
  225. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/scrape_success_envelope_status.py +0 -0
  226. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/scrape_table.py +0 -0
  227. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/scrape_table_kind.py +0 -0
  228. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/scrape_warning.py +0 -0
  229. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/scrape_warning_code.py +0 -0
  230. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/screenshot_request.py +0 -0
  231. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/screenshot_request_device.py +0 -0
  232. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/screenshot_request_device_scale_factor_type_1.py +0 -0
  233. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/screenshot_request_device_scale_factor_type_2_type_1.py +0 -0
  234. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/screenshot_request_device_scale_factor_type_3_type_1.py +0 -0
  235. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/screenshot_request_format.py +0 -0
  236. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/screenshot_request_wait_until.py +0 -0
  237. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/screenshot_response.py +0 -0
  238. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/screenshot_response_status.py +0 -0
  239. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/sitemap_request.py +0 -0
  240. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/sitemap_request_process_type_0.py +0 -0
  241. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/sitemap_request_process_type_0_options.py +0 -0
  242. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/sitemap_request_strategy.py +0 -0
  243. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/sitemap_response.py +0 -0
  244. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/sitemap_response_cache.py +0 -0
  245. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/sitemap_response_metadata_type_0.py +0 -0
  246. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/sitemap_response_process_type_0.py +0 -0
  247. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/sitemap_response_sources_type_0.py +0 -0
  248. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/sitemap_response_status.py +0 -0
  249. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/viewport.py +0 -0
  250. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/webhook_delivery_response.py +0 -0
  251. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/webhook_delivery_response_event_type.py +0 -0
  252. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/models/webhook_delivery_response_status.py +0 -0
  253. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/py.typed +0 -0
  254. {bytekit_sdk-0.8.2 → bytekit_sdk-0.9.1}/src/bytekit/types.py +0 -0
@@ -5,6 +5,38 @@ PyPI distribution: `bytekit-sdk`. Import name: `bytekit`.
5
5
 
6
6
  ## Unreleased
7
7
 
8
+ ## 0.9.1
9
+
10
+ _Release cut 2026-09-30._
11
+
12
+ ### Changed
13
+
14
+ - **Bulk job models add `total_billed_bytes`** (#5021) — new `Union[None, int]` on the bulk job
15
+ response models (`CreateBulkResponse202`, `GetBulkResponse200`/`202`, `DeleteBulkResponse200`,
16
+ and the create/get models of `/v1/scrape/bulk` and `/v1/fetch/bulk`) and on
17
+ `BulkCompletedWebhook`: the bandwidth billed for the job, in bytes,
18
+ after multipliers. `None` on the create response and for a bulk that predates the field.
19
+ `total_credits_charged` and the bulk item `credits_charged` are deprecated in the spec and
20
+ report `0` under the `dual` and `bytes` billing modes. Additive, patch-level. Regenerated from
21
+ `docs/api/openapi.yaml`.
22
+
23
+ ## 0.9.0
24
+
25
+ _Release cut 2026-09-24._
26
+
27
+ ### Changed
28
+
29
+ - **`CreateSearchResponse502` is renamed `CreateSearchResponse503`** (#4891, BREAKING), and
30
+ `CreateSearchResponse502Error` is renamed `CreateSearchResponse503Error`. The gateway now answers
31
+ a search-provider failure with HTTP `503` instead of `502`, because Cloudflare replaced the `502`
32
+ body with its own plain-text page and the `search_provider_error` code never reached the caller.
33
+ The body shape is unchanged. Regenerated from `docs/api/openapi.yaml`.
34
+ - **`get_fetch` and `post_fetch` no longer declare a `502` response** (#4891). The gateway relays
35
+ a target's `502` or `504` at HTTP `503`, with the true upstream status kept in the body's
36
+ `error.http_status`, and the `503` branch already parsed that `Error` envelope. A `502` is now
37
+ undocumented, so the default client raises `bytekit.errors.UnexpectedStatus` for it. Regenerated
38
+ from `docs/api/openapi.yaml`.
39
+
8
40
  ## 0.8.2
9
41
 
10
42
  _Release cut 2026-09-23._
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: bytekit-sdk
3
- Version: 0.8.2
3
+ Version: 0.9.1
4
4
  Summary: Official Python SDK for the ByteKit API
5
5
  Project-URL: Homepage, https://bytekit.com
6
6
  Project-URL: Repository, https://github.com/Hunt-Labs-Inc/ByteKit
@@ -7,7 +7,7 @@
7
7
  # `pip install bytekit-sdk` yields a working `import bytekit`. Mirrors the npm sibling
8
8
  # @hunt-labs/bytekit-sdk.
9
9
  name = "bytekit-sdk"
10
- version = "0.8.2"
10
+ version = "0.9.1"
11
11
  description = "Official Python SDK for the ByteKit API"
12
12
  readme = "README.md"
13
13
  requires-python = ">=3.10"
@@ -66,10 +66,6 @@ def _parse_response(
66
66
  response_429 = errors.bytekit_parse(Error.from_dict, client=client, response=response)
67
67
 
68
68
  return response_429
69
- if response.status_code == 502:
70
- response_502 = errors.bytekit_parse(Error.from_dict, client=client, response=response)
71
-
72
- return response_502
73
69
  if response.status_code == 503:
74
70
  response_503 = errors.bytekit_parse(Error.from_dict, client=client, response=response)
75
71
 
@@ -50,10 +50,6 @@ def _parse_response(
50
50
  response_429 = errors.bytekit_parse(Error.from_dict, client=client, response=response)
51
51
 
52
52
  return response_429
53
- if response.status_code == 502:
54
- response_502 = errors.bytekit_parse(Error.from_dict, client=client, response=response)
55
-
56
- return response_502
57
53
  if response.status_code == 503:
58
54
  response_503 = errors.bytekit_parse(Error.from_dict, client=client, response=response)
59
55
 
@@ -6,7 +6,7 @@ from ... import errors
6
6
  from ...client import AuthenticatedClient, Client
7
7
  from ...models.create_search_body import CreateSearchBody
8
8
  from ...models.create_search_response_200 import CreateSearchResponse200
9
- from ...models.create_search_response_502 import CreateSearchResponse502
9
+ from ...models.create_search_response_503 import CreateSearchResponse503
10
10
  from ...models.error import Error
11
11
  from ...types import Response
12
12
 
@@ -32,7 +32,7 @@ def _get_kwargs(
32
32
 
33
33
  def _parse_response(
34
34
  *, client: Union[AuthenticatedClient, Client], response: httpx.Response
35
- ) -> Optional[Union[CreateSearchResponse200, CreateSearchResponse502, Error]]:
35
+ ) -> Optional[Union[CreateSearchResponse200, CreateSearchResponse503, Error]]:
36
36
  if response.status_code == 200:
37
37
  response_200 = errors.bytekit_parse(CreateSearchResponse200.from_dict, client=client, response=response)
38
38
 
@@ -53,10 +53,10 @@ def _parse_response(
53
53
  response_500 = errors.bytekit_parse(Error.from_dict, client=client, response=response)
54
54
 
55
55
  return response_500
56
- if response.status_code == 502:
57
- response_502 = errors.bytekit_parse(CreateSearchResponse502.from_dict, client=client, response=response)
56
+ if response.status_code == 503:
57
+ response_503 = errors.bytekit_parse(CreateSearchResponse503.from_dict, client=client, response=response)
58
58
 
59
- return response_502
59
+ return response_503
60
60
  if client.raise_on_unexpected_status:
61
61
  raise errors.bytekit_unexpected(response) # BYTEKIT-OP-GUARD
62
62
  else:
@@ -65,7 +65,7 @@ def _parse_response(
65
65
 
66
66
  def _build_response(
67
67
  *, client: Union[AuthenticatedClient, Client], response: httpx.Response
68
- ) -> Response[Union[CreateSearchResponse200, CreateSearchResponse502, Error]]:
68
+ ) -> Response[Union[CreateSearchResponse200, CreateSearchResponse503, Error]]:
69
69
  return Response(
70
70
  status_code=errors.bytekit_status_code(response.status_code), # BYTEKIT-STATUS-COERCE
71
71
  content=response.content,
@@ -78,7 +78,7 @@ def sync_detailed(
78
78
  *,
79
79
  client: Union[AuthenticatedClient, Client],
80
80
  body: CreateSearchBody,
81
- ) -> Response[Union[CreateSearchResponse200, CreateSearchResponse502, Error]]:
81
+ ) -> Response[Union[CreateSearchResponse200, CreateSearchResponse503, Error]]:
82
82
  """Search the web
83
83
 
84
84
  Runs a web search for `query` and returns ranked organic results with
@@ -100,7 +100,7 @@ def sync_detailed(
100
100
  httpx.TimeoutException: If the request takes longer than Client.timeout.
101
101
 
102
102
  Returns:
103
- Response[Union[CreateSearchResponse200, CreateSearchResponse502, Error]]
103
+ Response[Union[CreateSearchResponse200, CreateSearchResponse503, Error]]
104
104
  """
105
105
 
106
106
  kwargs = _get_kwargs(
@@ -118,7 +118,7 @@ def sync(
118
118
  *,
119
119
  client: Union[AuthenticatedClient, Client],
120
120
  body: CreateSearchBody,
121
- ) -> Optional[Union[CreateSearchResponse200, CreateSearchResponse502, Error]]:
121
+ ) -> Optional[Union[CreateSearchResponse200, CreateSearchResponse503, Error]]:
122
122
  """Search the web
123
123
 
124
124
  Runs a web search for `query` and returns ranked organic results with
@@ -140,7 +140,7 @@ def sync(
140
140
  httpx.TimeoutException: If the request takes longer than Client.timeout.
141
141
 
142
142
  Returns:
143
- Union[CreateSearchResponse200, CreateSearchResponse502, Error]
143
+ Union[CreateSearchResponse200, CreateSearchResponse503, Error]
144
144
  """
145
145
 
146
146
  return sync_detailed(
@@ -153,7 +153,7 @@ async def asyncio_detailed(
153
153
  *,
154
154
  client: Union[AuthenticatedClient, Client],
155
155
  body: CreateSearchBody,
156
- ) -> Response[Union[CreateSearchResponse200, CreateSearchResponse502, Error]]:
156
+ ) -> Response[Union[CreateSearchResponse200, CreateSearchResponse503, Error]]:
157
157
  """Search the web
158
158
 
159
159
  Runs a web search for `query` and returns ranked organic results with
@@ -175,7 +175,7 @@ async def asyncio_detailed(
175
175
  httpx.TimeoutException: If the request takes longer than Client.timeout.
176
176
 
177
177
  Returns:
178
- Response[Union[CreateSearchResponse200, CreateSearchResponse502, Error]]
178
+ Response[Union[CreateSearchResponse200, CreateSearchResponse503, Error]]
179
179
  """
180
180
 
181
181
  kwargs = _get_kwargs(
@@ -191,7 +191,7 @@ async def asyncio(
191
191
  *,
192
192
  client: Union[AuthenticatedClient, Client],
193
193
  body: CreateSearchBody,
194
- ) -> Optional[Union[CreateSearchResponse200, CreateSearchResponse502, Error]]:
194
+ ) -> Optional[Union[CreateSearchResponse200, CreateSearchResponse503, Error]]:
195
195
  """Search the web
196
196
 
197
197
  Runs a web search for `query` and returns ranked organic results with
@@ -213,7 +213,7 @@ async def asyncio(
213
213
  httpx.TimeoutException: If the request takes longer than Client.timeout.
214
214
 
215
215
  Returns:
216
- Union[CreateSearchResponse200, CreateSearchResponse502, Error]
216
+ Union[CreateSearchResponse200, CreateSearchResponse503, Error]
217
217
  """
218
218
 
219
219
  return (
@@ -89,8 +89,8 @@ from .create_search_response_200_results_item import CreateSearchResponse200Resu
89
89
  from .create_search_response_200_results_item_image import (
90
90
  CreateSearchResponse200ResultsItemImage,
91
91
  )
92
- from .create_search_response_502 import CreateSearchResponse502
93
- from .create_search_response_502_error import CreateSearchResponse502Error
92
+ from .create_search_response_503 import CreateSearchResponse503
93
+ from .create_search_response_503_error import CreateSearchResponse503Error
94
94
  from .credit_balance import CreditBalance
95
95
  from .delete_bulk_response_200 import DeleteBulkResponse200
96
96
  from .delete_bulk_response_200_status import DeleteBulkResponse200Status
@@ -336,8 +336,8 @@ __all__ = (
336
336
  "CreateSearchResponse200",
337
337
  "CreateSearchResponse200ResultsItem",
338
338
  "CreateSearchResponse200ResultsItemImage",
339
- "CreateSearchResponse502",
340
- "CreateSearchResponse502Error",
339
+ "CreateSearchResponse503",
340
+ "CreateSearchResponse503Error",
341
341
  "CreditBalance",
342
342
  "DeleteBulkResponse200",
343
343
  "DeleteBulkResponse200Status",
@@ -117,7 +117,12 @@ class BulkCompletedWebhook:
117
117
  total (int):
118
118
  completed (int):
119
119
  failed (int):
120
- total_credits_charged (float):
120
+ total_credits_charged (float): Deprecated: bulk jobs are billed on bandwidth, read
121
+ `total_billed_bytes`. 0 under the `dual` and `bytes` billing modes.
122
+ total_billed_bytes (Union[None, int]): Bandwidth billed for the job, in bytes: the
123
+ settled amount after multipliers. None for a bulk with a completed child missing
124
+ from the sum (completed before the field, or with no settled amount), never a
125
+ partial sum.
121
126
  webhook_url (str):
122
127
  items (list[BulkCompletedWebhookItemsItem]): Complete item records included before
123
128
  the 500-item or 1-MiB manifest bound.
@@ -137,6 +142,7 @@ class BulkCompletedWebhook:
137
142
  completed: int
138
143
  failed: int
139
144
  total_credits_charged: float
145
+ total_billed_bytes: Union[None, int]
140
146
  webhook_url: str
141
147
  items: list["BulkCompletedWebhookItemsItem"]
142
148
  recovery_api: BulkCompletedWebhookRecoveryApi
@@ -159,6 +165,7 @@ class BulkCompletedWebhook:
159
165
  "completed": self.completed,
160
166
  "failed": self.failed,
161
167
  "total_credits_charged": self.total_credits_charged,
168
+ "total_billed_bytes": self.total_billed_bytes,
162
169
  "webhook_url": self.webhook_url,
163
170
  "items": [item.to_dict() for item in self.items],
164
171
  "recovery_api": self.recovery_api,
@@ -183,6 +190,7 @@ class BulkCompletedWebhook:
183
190
  completed=d.pop("completed"),
184
191
  failed=d.pop("failed"),
185
192
  total_credits_charged=d.pop("total_credits_charged"),
193
+ total_billed_bytes=d.pop("total_billed_bytes"),
186
194
  webhook_url=d.pop("webhook_url"),
187
195
  items=[BulkCompletedWebhookItemsItem.from_dict(i) for i in d.pop("items")],
188
196
  recovery_api=d.pop("recovery_api"),
@@ -27,10 +27,13 @@ class CreateBulkResponse202:
27
27
  failed (int):
28
28
  created_at (datetime.datetime):
29
29
  completed_at (Union[None, datetime.datetime]):
30
- total_credits_charged (Union[None, float]): Always null on the create response — the job has not been billed yet
31
- (routes/bulk.ts builds the 202 body from a partial job row). Fractional when populated (credits are
32
- NUMERIC(10,2)); the numeric branch is unreachable on this path and exists only so the 202 and 200 bodies share
33
- one shape.
30
+ total_credits_charged (Union[None, float]): Deprecated: bulk jobs are billed on bandwidth — read
31
+ `total_billed_bytes`. Reports `0` under the `dual` and `bytes` billing modes, where no credits are drawn. Under
32
+ `credits` it is always null on the create response — the job has not been billed yet (routes/bulk.ts builds the
33
+ 202 body from a partial job row).
34
+ total_billed_bytes (Union[None, int]): Bandwidth billed for the job, in bytes: the settled amount after
35
+ multipliers, summed over every settled child's `billing.billed_bytes` across the whole job (not raw wire bytes,
36
+ not just this page). Always null on the create response — nothing has settled yet.
34
37
  estimated_credits (Union[None, float]): Estimated credits at submission time. Null in GET responses. Fetch-bulk
35
38
  items use the raw fetch bandwidth billing factor.
36
39
  webhook_url (str): Webhook endpoint URL (HTTPS only; http:// rejected with 400 invalid_url, reason
@@ -45,6 +48,7 @@ class CreateBulkResponse202:
45
48
  created_at: datetime.datetime
46
49
  completed_at: Union[None, datetime.datetime]
47
50
  total_credits_charged: Union[None, float]
51
+ total_billed_bytes: Union[None, int]
48
52
  estimated_credits: Union[None, float]
49
53
  webhook_url: str
50
54
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
@@ -71,6 +75,9 @@ class CreateBulkResponse202:
71
75
  total_credits_charged: Union[None, float]
72
76
  total_credits_charged = self.total_credits_charged
73
77
 
78
+ total_billed_bytes: Union[None, int]
79
+ total_billed_bytes = self.total_billed_bytes
80
+
74
81
  estimated_credits: Union[None, float]
75
82
  estimated_credits = self.estimated_credits
76
83
 
@@ -88,6 +95,7 @@ class CreateBulkResponse202:
88
95
  "created_at": created_at,
89
96
  "completed_at": completed_at,
90
97
  "total_credits_charged": total_credits_charged,
98
+ "total_billed_bytes": total_billed_bytes,
91
99
  "estimated_credits": estimated_credits,
92
100
  "webhook_url": webhook_url,
93
101
  }
@@ -134,6 +142,13 @@ class CreateBulkResponse202:
134
142
  d.pop("total_credits_charged")
135
143
  )
136
144
 
145
+ def _parse_total_billed_bytes(data: object) -> Union[None, int]:
146
+ if data is None:
147
+ return data
148
+ return cast(Union[None, int], data)
149
+
150
+ total_billed_bytes = _parse_total_billed_bytes(d.pop("total_billed_bytes"))
151
+
137
152
  def _parse_estimated_credits(data: object) -> Union[None, float]:
138
153
  if data is None:
139
154
  return data
@@ -152,6 +167,7 @@ class CreateBulkResponse202:
152
167
  created_at=created_at,
153
168
  completed_at=completed_at,
154
169
  total_credits_charged=total_credits_charged,
170
+ total_billed_bytes=total_billed_bytes,
155
171
  estimated_credits=estimated_credits,
156
172
  webhook_url=webhook_url,
157
173
  )
@@ -29,10 +29,13 @@ class CreateFetchBulkResponse202:
29
29
  failed (int):
30
30
  created_at (datetime.datetime):
31
31
  completed_at (Union[None, datetime.datetime]):
32
- total_credits_charged (Union[None, float]): Always null on the create response — the job has not been billed yet
33
- (routes/fetch-bulk.ts builds the 202 body from a partial job row). Fractional when populated (credits are
34
- NUMERIC(10,2)); the numeric branch is unreachable on this path and exists only so the 202 and 200 bodies share
35
- one shape.
32
+ total_credits_charged (Union[None, float]): Deprecated: bulk jobs are billed on bandwidth — read
33
+ `total_billed_bytes`. Reports `0` under the `dual` and `bytes` billing modes, where no credits are drawn. Under
34
+ `credits` it is always null on the create response — the job has not been billed yet (routes/fetch-bulk.ts
35
+ builds the 202 body from a partial job row).
36
+ total_billed_bytes (Union[None, int]): Bandwidth billed for the job, in bytes: the settled amount after
37
+ multipliers, summed over every settled child's `billing.billed_bytes` across the whole job (not raw wire bytes,
38
+ not just this page). Always null on the create response — nothing has settled yet.
36
39
  estimated_credits (Union[None, float]): Estimated credits at submission time. Null in GET responses. Fetch items
37
40
  are raw passthrough requests and use the raw fetch bandwidth billing factor.
38
41
  webhook_url (str): Webhook endpoint URL (HTTPS only; http:// rejected with 400 invalid_url, reason
@@ -47,6 +50,7 @@ class CreateFetchBulkResponse202:
47
50
  created_at: datetime.datetime
48
51
  completed_at: Union[None, datetime.datetime]
49
52
  total_credits_charged: Union[None, float]
53
+ total_billed_bytes: Union[None, int]
50
54
  estimated_credits: Union[None, float]
51
55
  webhook_url: str
52
56
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
@@ -73,6 +77,9 @@ class CreateFetchBulkResponse202:
73
77
  total_credits_charged: Union[None, float]
74
78
  total_credits_charged = self.total_credits_charged
75
79
 
80
+ total_billed_bytes: Union[None, int]
81
+ total_billed_bytes = self.total_billed_bytes
82
+
76
83
  estimated_credits: Union[None, float]
77
84
  estimated_credits = self.estimated_credits
78
85
 
@@ -90,6 +97,7 @@ class CreateFetchBulkResponse202:
90
97
  "created_at": created_at,
91
98
  "completed_at": completed_at,
92
99
  "total_credits_charged": total_credits_charged,
100
+ "total_billed_bytes": total_billed_bytes,
93
101
  "estimated_credits": estimated_credits,
94
102
  "webhook_url": webhook_url,
95
103
  }
@@ -136,6 +144,13 @@ class CreateFetchBulkResponse202:
136
144
  d.pop("total_credits_charged")
137
145
  )
138
146
 
147
+ def _parse_total_billed_bytes(data: object) -> Union[None, int]:
148
+ if data is None:
149
+ return data
150
+ return cast(Union[None, int], data)
151
+
152
+ total_billed_bytes = _parse_total_billed_bytes(d.pop("total_billed_bytes"))
153
+
139
154
  def _parse_estimated_credits(data: object) -> Union[None, float]:
140
155
  if data is None:
141
156
  return data
@@ -154,6 +169,7 @@ class CreateFetchBulkResponse202:
154
169
  created_at=created_at,
155
170
  completed_at=completed_at,
156
171
  total_credits_charged=total_credits_charged,
172
+ total_billed_bytes=total_billed_bytes,
157
173
  estimated_credits=estimated_credits,
158
174
  webhook_url=webhook_url,
159
175
  )
@@ -29,10 +29,13 @@ class CreateScrapeBulkResponse202:
29
29
  failed (int):
30
30
  created_at (datetime.datetime):
31
31
  completed_at (Union[None, datetime.datetime]):
32
- total_credits_charged (Union[None, float]): Always null on the create response — the job has not been billed yet
33
- (routes/scrape-bulk.ts builds the 202 body from a partial job row). Fractional when populated (credits are
34
- NUMERIC(10,2)); the numeric branch is unreachable on this path and exists only so the 202 and 200 bodies share
35
- one shape.
32
+ total_credits_charged (Union[None, float]): Deprecated: bulk jobs are billed on bandwidth — read
33
+ `total_billed_bytes`. Reports `0` under the `dual` and `bytes` billing modes, where no credits are drawn. Under
34
+ `credits` it is always null on the create response — the job has not been billed yet (routes/scrape-bulk.ts
35
+ builds the 202 body from a partial job row).
36
+ total_billed_bytes (Union[None, int]): Bandwidth billed for the job, in bytes: the settled amount after
37
+ multipliers, summed over every settled child's `billing.billed_bytes` across the whole job (not raw wire bytes,
38
+ not just this page). Always null on the create response — nothing has settled yet.
36
39
  estimated_credits (Union[None, float]): Estimated credits at submission time. Null in GET responses. Fetch-bulk
37
40
  items use the raw fetch bandwidth billing factor.
38
41
  webhook_url (str): Webhook endpoint URL (HTTPS only; http:// rejected with 400 invalid_url, reason
@@ -47,6 +50,7 @@ class CreateScrapeBulkResponse202:
47
50
  created_at: datetime.datetime
48
51
  completed_at: Union[None, datetime.datetime]
49
52
  total_credits_charged: Union[None, float]
53
+ total_billed_bytes: Union[None, int]
50
54
  estimated_credits: Union[None, float]
51
55
  webhook_url: str
52
56
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
@@ -73,6 +77,9 @@ class CreateScrapeBulkResponse202:
73
77
  total_credits_charged: Union[None, float]
74
78
  total_credits_charged = self.total_credits_charged
75
79
 
80
+ total_billed_bytes: Union[None, int]
81
+ total_billed_bytes = self.total_billed_bytes
82
+
76
83
  estimated_credits: Union[None, float]
77
84
  estimated_credits = self.estimated_credits
78
85
 
@@ -90,6 +97,7 @@ class CreateScrapeBulkResponse202:
90
97
  "created_at": created_at,
91
98
  "completed_at": completed_at,
92
99
  "total_credits_charged": total_credits_charged,
100
+ "total_billed_bytes": total_billed_bytes,
93
101
  "estimated_credits": estimated_credits,
94
102
  "webhook_url": webhook_url,
95
103
  }
@@ -136,6 +144,13 @@ class CreateScrapeBulkResponse202:
136
144
  d.pop("total_credits_charged")
137
145
  )
138
146
 
147
+ def _parse_total_billed_bytes(data: object) -> Union[None, int]:
148
+ if data is None:
149
+ return data
150
+ return cast(Union[None, int], data)
151
+
152
+ total_billed_bytes = _parse_total_billed_bytes(d.pop("total_billed_bytes"))
153
+
139
154
  def _parse_estimated_credits(data: object) -> Union[None, float]:
140
155
  if data is None:
141
156
  return data
@@ -154,6 +169,7 @@ class CreateScrapeBulkResponse202:
154
169
  created_at=created_at,
155
170
  completed_at=completed_at,
156
171
  total_credits_charged=total_credits_charged,
172
+ total_billed_bytes=total_billed_bytes,
157
173
  estimated_credits=estimated_credits,
158
174
  webhook_url=webhook_url,
159
175
  )
@@ -3,23 +3,23 @@ from typing import Any, TypeVar
3
3
 
4
4
  from attrs import define as _attrs_define
5
5
 
6
- from ..models.create_search_response_502_error import CreateSearchResponse502Error
6
+ from ..models.create_search_response_503_error import CreateSearchResponse503Error
7
7
 
8
- T = TypeVar("T", bound="CreateSearchResponse502")
8
+ T = TypeVar("T", bound="CreateSearchResponse503")
9
9
 
10
10
 
11
11
  @_attrs_define
12
- class CreateSearchResponse502:
12
+ class CreateSearchResponse503:
13
13
  """
14
14
  Example:
15
15
  {'error': 'search_provider_error'}
16
16
 
17
17
  Attributes:
18
- error (CreateSearchResponse502Error): Fixed vendor-masked error code. Always `search_provider_error`; the
18
+ error (CreateSearchResponse503Error): Fixed vendor-masked error code. Always `search_provider_error`; the
19
19
  upstream provider's identity and failure detail are withheld by design.
20
20
  """
21
21
 
22
- error: CreateSearchResponse502Error
22
+ error: CreateSearchResponse503Error
23
23
 
24
24
  def to_dict(self) -> dict[str, Any]:
25
25
  error = self.error.value
@@ -37,10 +37,10 @@ class CreateSearchResponse502:
37
37
  @classmethod
38
38
  def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
39
39
  d = dict(src_dict)
40
- error = CreateSearchResponse502Error(d.pop("error"))
40
+ error = CreateSearchResponse503Error(d.pop("error"))
41
41
 
42
- create_search_response_502 = cls(
42
+ create_search_response_503 = cls(
43
43
  error=error,
44
44
  )
45
45
 
46
- return create_search_response_502
46
+ return create_search_response_503
@@ -1,7 +1,7 @@
1
1
  from enum import Enum
2
2
 
3
3
 
4
- class CreateSearchResponse502Error(str, Enum):
4
+ class CreateSearchResponse503Error(str, Enum):
5
5
  SEARCH_PROVIDER_ERROR = "search_provider_error"
6
6
 
7
7
  def __str__(self) -> str:
@@ -27,8 +27,14 @@ class DeleteBulkResponse200:
27
27
  failed (int):
28
28
  created_at (datetime.datetime):
29
29
  completed_at (Union[None, datetime.datetime]):
30
- total_credits_charged (Union[None, float]): Total credits billed for the job. Null until the job is billed.
31
- Fractional — credits are NUMERIC(10,2).
30
+ total_credits_charged (Union[None, float]): Deprecated: bulk jobs are billed on bandwidth — read
31
+ `total_billed_bytes`. Reports `0` under the `dual` and `bytes` billing modes, where no credits are drawn. Under
32
+ `credits` it is the total credits billed for the job, null until the job is billed; fractional — credits are
33
+ NUMERIC(10,2).
34
+ total_billed_bytes (Union[None, int]): Bandwidth billed for the job, in bytes: the settled amount after
35
+ multipliers, summed over every settled child's `billing.billed_bytes` across the whole job (not raw wire bytes,
36
+ not just this page). Null for a bulk with a completed child missing from the sum (completed before this field,
37
+ or with no settled amount) — never a partial sum.
32
38
  estimated_credits (Union[None, float]): Null in cancel responses (computed at submission time only).
33
39
  webhook_url (str): Webhook endpoint URL (HTTPS only; http:// rejected with 400 invalid_url, reason
34
40
  scheme_unsupported)
@@ -42,6 +48,7 @@ class DeleteBulkResponse200:
42
48
  created_at: datetime.datetime
43
49
  completed_at: Union[None, datetime.datetime]
44
50
  total_credits_charged: Union[None, float]
51
+ total_billed_bytes: Union[None, int]
45
52
  estimated_credits: Union[None, float]
46
53
  webhook_url: str
47
54
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
@@ -68,6 +75,9 @@ class DeleteBulkResponse200:
68
75
  total_credits_charged: Union[None, float]
69
76
  total_credits_charged = self.total_credits_charged
70
77
 
78
+ total_billed_bytes: Union[None, int]
79
+ total_billed_bytes = self.total_billed_bytes
80
+
71
81
  estimated_credits: Union[None, float]
72
82
  estimated_credits = self.estimated_credits
73
83
 
@@ -85,6 +95,7 @@ class DeleteBulkResponse200:
85
95
  "created_at": created_at,
86
96
  "completed_at": completed_at,
87
97
  "total_credits_charged": total_credits_charged,
98
+ "total_billed_bytes": total_billed_bytes,
88
99
  "estimated_credits": estimated_credits,
89
100
  "webhook_url": webhook_url,
90
101
  }
@@ -131,6 +142,13 @@ class DeleteBulkResponse200:
131
142
  d.pop("total_credits_charged")
132
143
  )
133
144
 
145
+ def _parse_total_billed_bytes(data: object) -> Union[None, int]:
146
+ if data is None:
147
+ return data
148
+ return cast(Union[None, int], data)
149
+
150
+ total_billed_bytes = _parse_total_billed_bytes(d.pop("total_billed_bytes"))
151
+
134
152
  def _parse_estimated_credits(data: object) -> Union[None, float]:
135
153
  if data is None:
136
154
  return data
@@ -149,6 +167,7 @@ class DeleteBulkResponse200:
149
167
  created_at=created_at,
150
168
  completed_at=completed_at,
151
169
  total_credits_charged=total_credits_charged,
170
+ total_billed_bytes=total_billed_bytes,
152
171
  estimated_credits=estimated_credits,
153
172
  webhook_url=webhook_url,
154
173
  )
@@ -27,8 +27,14 @@ class GetBulkResponse200:
27
27
  failed (int):
28
28
  created_at (datetime.datetime):
29
29
  completed_at (Union[None, datetime.datetime]):
30
- total_credits_charged (Union[None, float]): Total credits billed for the job. Null until the job is billed.
31
- Fractional — credits are NUMERIC(10,2).
30
+ total_credits_charged (Union[None, float]): Deprecated: bulk jobs are billed on bandwidth — read
31
+ `total_billed_bytes`. Reports `0` under the `dual` and `bytes` billing modes, where no credits are drawn. Under
32
+ `credits` it is the total credits billed for the job, null until the job is billed; fractional — credits are
33
+ NUMERIC(10,2).
34
+ total_billed_bytes (Union[None, int]): Bandwidth billed for the job, in bytes: the settled amount after
35
+ multipliers, summed over every settled child's `billing.billed_bytes` across the whole job (not raw wire bytes,
36
+ not just this page). Null for a bulk with a completed child missing from the sum (completed before this field,
37
+ or with no settled amount) — never a partial sum.
32
38
  estimated_credits (Union[None, float]): Null in GET responses (computed at submission time only).
33
39
  webhook_url (str): Webhook endpoint URL (HTTPS only; http:// rejected with 400 invalid_url, reason
34
40
  scheme_unsupported)
@@ -42,6 +48,7 @@ class GetBulkResponse200:
42
48
  created_at: datetime.datetime
43
49
  completed_at: Union[None, datetime.datetime]
44
50
  total_credits_charged: Union[None, float]
51
+ total_billed_bytes: Union[None, int]
45
52
  estimated_credits: Union[None, float]
46
53
  webhook_url: str
47
54
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
@@ -68,6 +75,9 @@ class GetBulkResponse200:
68
75
  total_credits_charged: Union[None, float]
69
76
  total_credits_charged = self.total_credits_charged
70
77
 
78
+ total_billed_bytes: Union[None, int]
79
+ total_billed_bytes = self.total_billed_bytes
80
+
71
81
  estimated_credits: Union[None, float]
72
82
  estimated_credits = self.estimated_credits
73
83
 
@@ -85,6 +95,7 @@ class GetBulkResponse200:
85
95
  "created_at": created_at,
86
96
  "completed_at": completed_at,
87
97
  "total_credits_charged": total_credits_charged,
98
+ "total_billed_bytes": total_billed_bytes,
88
99
  "estimated_credits": estimated_credits,
89
100
  "webhook_url": webhook_url,
90
101
  }
@@ -131,6 +142,13 @@ class GetBulkResponse200:
131
142
  d.pop("total_credits_charged")
132
143
  )
133
144
 
145
+ def _parse_total_billed_bytes(data: object) -> Union[None, int]:
146
+ if data is None:
147
+ return data
148
+ return cast(Union[None, int], data)
149
+
150
+ total_billed_bytes = _parse_total_billed_bytes(d.pop("total_billed_bytes"))
151
+
134
152
  def _parse_estimated_credits(data: object) -> Union[None, float]:
135
153
  if data is None:
136
154
  return data
@@ -149,6 +167,7 @@ class GetBulkResponse200:
149
167
  created_at=created_at,
150
168
  completed_at=completed_at,
151
169
  total_credits_charged=total_credits_charged,
170
+ total_billed_bytes=total_billed_bytes,
152
171
  estimated_credits=estimated_credits,
153
172
  webhook_url=webhook_url,
154
173
  )