bytekit-sdk 0.8.0__tar.gz → 0.8.2__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.0 → bytekit_sdk-0.8.2}/CHANGELOG.md +22 -0
  2. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/PKG-INFO +1 -1
  3. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/pyproject.toml +1 -1
  4. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/account_session_response.py +14 -3
  5. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/get_fetch_bulk_response_200_status.py +1 -0
  6. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/get_fetch_bulk_response_202_status.py +0 -1
  7. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/list_bulk_screenshots_response_200_items_item_type_0.py +31 -33
  8. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/.gitignore +0 -0
  9. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/LICENSE +0 -0
  10. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/README.md +0 -0
  11. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/__init__.py +0 -0
  12. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/api/__init__.py +0 -0
  13. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/api/account/__init__.py +0 -0
  14. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/api/account/get_account.py +0 -0
  15. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/api/bulk/__init__.py +0 -0
  16. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/api/bulk/create_bulk.py +0 -0
  17. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/api/bulk/delete_bulk.py +0 -0
  18. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/api/bulk/get_bulk.py +0 -0
  19. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/api/bulk/list_bulk_screenshots.py +0 -0
  20. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/api/fetch/__init__.py +0 -0
  21. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/api/fetch/get_fetch.py +0 -0
  22. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/api/fetch/post_fetch.py +0 -0
  23. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/api/fetch_bulk/__init__.py +0 -0
  24. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/api/fetch_bulk/create_fetch_bulk.py +0 -0
  25. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/api/fetch_bulk/get_fetch_bulk.py +0 -0
  26. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/api/monitors/__init__.py +0 -0
  27. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/api/monitors/create_monitor.py +0 -0
  28. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/api/monitors/delete_monitor.py +0 -0
  29. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/api/monitors/get_monitor.py +0 -0
  30. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/api/monitors/list_monitor_captures.py +0 -0
  31. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/api/monitors/list_monitors.py +0 -0
  32. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/api/monitors/update_monitor.py +0 -0
  33. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/api/scrape/__init__.py +0 -0
  34. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/api/scrape/create_scrape.py +0 -0
  35. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/api/scrape/get_scrape.py +0 -0
  36. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/api/scrape_bulk/__init__.py +0 -0
  37. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/api/scrape_bulk/create_scrape_bulk.py +0 -0
  38. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/api/scrape_bulk/get_scrape_bulk.py +0 -0
  39. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/api/screenshots/__init__.py +0 -0
  40. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/api/screenshots/create_screenshot.py +0 -0
  41. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/api/screenshots/get_screenshot.py +0 -0
  42. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/api/search/__init__.py +0 -0
  43. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/api/search/create_search.py +0 -0
  44. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/api/sitemap/__init__.py +0 -0
  45. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/api/sitemap/create_sitemap.py +0 -0
  46. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/api/sitemap/get_sitemap.py +0 -0
  47. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/api/usage/__init__.py +0 -0
  48. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/api/usage/get_usage.py +0 -0
  49. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/api/usage/get_usage_by_endpoint.py +0 -0
  50. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/api/usage/get_usage_daily.py +0 -0
  51. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/api/webhooks/__init__.py +0 -0
  52. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/api/webhooks/list_webhook_deliveries.py +0 -0
  53. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/api/webhooks/retry_webhook_delivery.py +0 -0
  54. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/client.py +0 -0
  55. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/errors.py +0 -0
  56. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/__init__.py +0 -0
  57. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/account_bearer_response.py +0 -0
  58. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/account_bearer_response_api_key.py +0 -0
  59. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/account_bearer_response_api_key_environment.py +0 -0
  60. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/account_bearer_response_auto_topup.py +0 -0
  61. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/account_bearer_response_plan.py +0 -0
  62. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/account_bearer_response_subscription.py +0 -0
  63. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/account_bearer_response_subscription_plan.py +0 -0
  64. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/account_bearer_response_subscription_status.py +0 -0
  65. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/account_session_response_notifications.py +0 -0
  66. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/account_session_response_plan.py +0 -0
  67. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/bandwidth_balance.py +0 -0
  68. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/billing_factor.py +0 -0
  69. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/billing_factor_name.py +0 -0
  70. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/billing_node.py +0 -0
  71. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/bulk_completed_webhook.py +0 -0
  72. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/bulk_job_counters.py +0 -0
  73. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/bulk_mandatory_scrape_item.py +0 -0
  74. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/bulk_mandatory_scrape_item_error.py +0 -0
  75. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/bulk_mandatory_scrape_item_formats.py +0 -0
  76. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/bulk_mandatory_scrape_item_terminal_outcome.py +0 -0
  77. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/bulk_mandatory_scrape_item_type.py +0 -0
  78. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/capture_response.py +0 -0
  79. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/capture_response_outcome.py +0 -0
  80. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/clip.py +0 -0
  81. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/create_bulk_body.py +0 -0
  82. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/create_bulk_body_defaults.py +0 -0
  83. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/create_bulk_body_defaults_device.py +0 -0
  84. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/create_bulk_body_defaults_device_scale_factor_type_1.py +0 -0
  85. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/create_bulk_body_defaults_device_scale_factor_type_2_type_1.py +0 -0
  86. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/create_bulk_body_defaults_device_scale_factor_type_3_type_1.py +0 -0
  87. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/create_bulk_body_defaults_formats_item.py +0 -0
  88. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/create_bulk_body_defaults_type.py +0 -0
  89. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/create_bulk_body_defaults_viewport_type_0.py +0 -0
  90. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/create_bulk_body_defaults_wait_until.py +0 -0
  91. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/create_bulk_body_items_item.py +0 -0
  92. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/create_bulk_body_items_item_device.py +0 -0
  93. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/create_bulk_body_items_item_formats_item.py +0 -0
  94. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/create_bulk_body_items_item_scenario.py +0 -0
  95. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/create_bulk_body_items_item_type.py +0 -0
  96. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/create_bulk_body_items_item_viewport_type_0.py +0 -0
  97. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/create_bulk_body_items_item_wait_until.py +0 -0
  98. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/create_bulk_response_202.py +0 -0
  99. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/create_bulk_response_202_status.py +0 -0
  100. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/create_fetch_bulk_body.py +0 -0
  101. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/create_fetch_bulk_body_defaults.py +0 -0
  102. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/create_fetch_bulk_body_urls_item_type_1.py +0 -0
  103. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/create_fetch_bulk_response_202.py +0 -0
  104. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/create_fetch_bulk_response_202_status.py +0 -0
  105. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/create_scrape_bulk_body.py +0 -0
  106. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/create_scrape_bulk_body_custom.py +0 -0
  107. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/create_scrape_bulk_body_defaults.py +0 -0
  108. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/create_scrape_bulk_body_defaults_formats_item.py +0 -0
  109. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/create_scrape_bulk_body_items_item.py +0 -0
  110. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/create_scrape_bulk_body_items_item_custom.py +0 -0
  111. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/create_scrape_bulk_body_items_item_formats_item.py +0 -0
  112. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/create_scrape_bulk_response_202.py +0 -0
  113. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/create_scrape_bulk_response_202_status.py +0 -0
  114. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/create_search_body.py +0 -0
  115. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/create_search_body_date_range.py +0 -0
  116. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/create_search_body_type.py +0 -0
  117. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/create_search_response_200.py +0 -0
  118. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/create_search_response_200_results_item.py +0 -0
  119. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/create_search_response_200_results_item_image.py +0 -0
  120. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/create_search_response_502.py +0 -0
  121. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/create_search_response_502_error.py +0 -0
  122. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/credit_balance.py +0 -0
  123. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/delete_bulk_response_200.py +0 -0
  124. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/delete_bulk_response_200_status.py +0 -0
  125. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/error.py +0 -0
  126. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/error_error.py +0 -0
  127. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/error_status.py +0 -0
  128. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/fetch_request.py +0 -0
  129. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/fetch_request_cache_ttl_type_1.py +0 -0
  130. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/fetch_request_custom.py +0 -0
  131. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/get_bulk_response_200.py +0 -0
  132. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/get_bulk_response_200_status.py +0 -0
  133. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/get_bulk_response_202.py +0 -0
  134. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/get_bulk_response_202_status.py +0 -0
  135. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/get_fetch_bulk_response_200.py +0 -0
  136. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/get_fetch_bulk_response_200_items_item_type_0.py +0 -0
  137. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/get_fetch_bulk_response_200_items_item_type_0_status.py +0 -0
  138. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/get_fetch_bulk_response_200_items_item_type_1.py +0 -0
  139. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/get_fetch_bulk_response_200_items_item_type_1_terminal_outcome.py +0 -0
  140. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/get_fetch_bulk_response_200_items_item_type_1_type.py +0 -0
  141. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/get_fetch_bulk_response_202.py +0 -0
  142. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/get_fetch_bulk_response_202_items_item_type_0.py +0 -0
  143. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/get_fetch_bulk_response_202_items_item_type_0_status.py +0 -0
  144. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/get_fetch_bulk_response_202_items_item_type_1.py +0 -0
  145. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/get_fetch_bulk_response_202_items_item_type_1_terminal_outcome.py +0 -0
  146. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/get_fetch_bulk_response_202_items_item_type_1_type.py +0 -0
  147. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/get_fetch_bulk_status.py +0 -0
  148. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/get_fetch_cache_ttl_type_1.py +0 -0
  149. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/get_scrape_bulk_response_200.py +0 -0
  150. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/get_scrape_bulk_response_200_status.py +0 -0
  151. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/get_scrape_bulk_response_202.py +0 -0
  152. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/get_scrape_bulk_response_202_status.py +0 -0
  153. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/get_scrape_bulk_status.py +0 -0
  154. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/get_usage_by_endpoint_response_200.py +0 -0
  155. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/get_usage_by_endpoint_response_200_rows_item.py +0 -0
  156. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/get_usage_by_endpoint_response_200_rows_item_endpoint.py +0 -0
  157. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/get_usage_by_endpoint_response_200_totals.py +0 -0
  158. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/get_usage_daily_response_200.py +0 -0
  159. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/get_usage_daily_response_200_data_item.py +0 -0
  160. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/get_usage_response_200.py +0 -0
  161. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/get_usage_response_200_plan_type.py +0 -0
  162. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/list_bulk_screenshots_response_200.py +0 -0
  163. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/list_bulk_screenshots_response_200_items_item_type_0_artifacts.py +0 -0
  164. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/list_bulk_screenshots_response_200_items_item_type_0_status.py +0 -0
  165. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/list_bulk_screenshots_response_200_items_item_type_0_type.py +0 -0
  166. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/list_bulk_screenshots_response_200_items_item_type_1.py +0 -0
  167. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/list_bulk_screenshots_response_200_items_item_type_1_terminal_outcome.py +0 -0
  168. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/list_bulk_screenshots_response_200_items_item_type_1_type.py +0 -0
  169. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/list_bulk_screenshots_status.py +0 -0
  170. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/list_monitor_captures_response_200.py +0 -0
  171. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/list_monitors_response_200.py +0 -0
  172. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/list_monitors_status.py +0 -0
  173. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/list_webhook_deliveries_response_200.py +0 -0
  174. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/list_webhook_deliveries_status.py +0 -0
  175. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/metadata.py +0 -0
  176. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/monitor_create_request.py +0 -0
  177. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/monitor_create_request_interval_type.py +0 -0
  178. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/monitor_create_request_notify_on.py +0 -0
  179. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/monitor_create_request_options.py +0 -0
  180. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/monitor_create_request_scrape_options.py +0 -0
  181. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/monitor_create_request_type.py +0 -0
  182. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/monitor_create_request_webhook_headers.py +0 -0
  183. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/monitor_create_response.py +0 -0
  184. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/monitor_response.py +0 -0
  185. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/monitor_response_interval_type.py +0 -0
  186. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/monitor_response_metadata_type_0.py +0 -0
  187. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/monitor_response_status.py +0 -0
  188. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/monitor_response_type.py +0 -0
  189. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/monitor_response_webhook_headers_type_0.py +0 -0
  190. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/monitor_update_request.py +0 -0
  191. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/monitor_update_request_interval_type.py +0 -0
  192. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/monitor_update_request_notify_on.py +0 -0
  193. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/monitor_update_request_options.py +0 -0
  194. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/monitor_update_request_scrape_options.py +0 -0
  195. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/monitor_update_request_status.py +0 -0
  196. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/monitor_update_request_webhook_headers.py +0 -0
  197. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/scrape_error_envelope.py +0 -0
  198. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/scrape_error_envelope_error.py +0 -0
  199. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/scrape_error_envelope_error_code.py +0 -0
  200. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/scrape_error_envelope_schema_version.py +0 -0
  201. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/scrape_error_envelope_status.py +0 -0
  202. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/scrape_formats.py +0 -0
  203. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/scrape_markdown_tokens.py +0 -0
  204. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/scrape_metadata.py +0 -0
  205. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/scrape_queued_envelope.py +0 -0
  206. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/scrape_queued_envelope_schema_version.py +0 -0
  207. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/scrape_queued_envelope_status.py +0 -0
  208. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/scrape_request.py +0 -0
  209. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/scrape_request_cache_ttl_type_1.py +0 -0
  210. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/scrape_request_custom.py +0 -0
  211. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/scrape_request_events_item.py +0 -0
  212. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/scrape_request_formats_item.py +0 -0
  213. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/scrape_request_markdown_images.py +0 -0
  214. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/scrape_request_markdown_links.py +0 -0
  215. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/scrape_request_markdown_mode.py +0 -0
  216. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/scrape_request_token_encoding.py +0 -0
  217. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/scrape_request_x_internal_scrape_path.py +0 -0
  218. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/scrape_scored_image.py +0 -0
  219. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/scrape_scored_link.py +0 -0
  220. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/scrape_stats.py +0 -0
  221. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/scrape_success_envelope.py +0 -0
  222. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/scrape_success_envelope_cache.py +0 -0
  223. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/scrape_success_envelope_custom.py +0 -0
  224. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/scrape_success_envelope_schema_version.py +0 -0
  225. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/scrape_success_envelope_status.py +0 -0
  226. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/scrape_table.py +0 -0
  227. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/scrape_table_kind.py +0 -0
  228. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/scrape_warning.py +0 -0
  229. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/scrape_warning_code.py +0 -0
  230. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/screenshot_request.py +0 -0
  231. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/screenshot_request_device.py +0 -0
  232. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/screenshot_request_device_scale_factor_type_1.py +0 -0
  233. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/screenshot_request_device_scale_factor_type_2_type_1.py +0 -0
  234. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/screenshot_request_device_scale_factor_type_3_type_1.py +0 -0
  235. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/screenshot_request_format.py +0 -0
  236. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/screenshot_request_wait_until.py +0 -0
  237. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/screenshot_response.py +0 -0
  238. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/screenshot_response_status.py +0 -0
  239. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/sitemap_request.py +0 -0
  240. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/sitemap_request_process_type_0.py +0 -0
  241. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/sitemap_request_process_type_0_options.py +0 -0
  242. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/sitemap_request_strategy.py +0 -0
  243. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/sitemap_response.py +0 -0
  244. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/sitemap_response_cache.py +0 -0
  245. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/sitemap_response_metadata_type_0.py +0 -0
  246. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/sitemap_response_process_type_0.py +0 -0
  247. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/sitemap_response_sources_type_0.py +0 -0
  248. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/sitemap_response_status.py +0 -0
  249. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/viewport.py +0 -0
  250. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/webhook_delivery_response.py +0 -0
  251. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/webhook_delivery_response_event_type.py +0 -0
  252. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/models/webhook_delivery_response_status.py +0 -0
  253. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/py.typed +0 -0
  254. {bytekit_sdk-0.8.0 → bytekit_sdk-0.8.2}/src/bytekit/types.py +0 -0
@@ -5,6 +5,28 @@ PyPI distribution: `bytekit-sdk`. Import name: `bytekit`.
5
5
 
6
6
  ## Unreleased
7
7
 
8
+ ## 0.8.2
9
+
10
+ _Release cut 2026-09-23._
11
+
12
+ ### Changed
13
+
14
+ - **`AccountSessionResponse.onboarding_completed`** (#4780) — new `bool`: whether the account has
15
+ left dashboard onboarding. Additive, patch-level. Regenerated from `docs/api/openapi.yaml`.
16
+
17
+ ## 0.8.1
18
+
19
+ _Release cut 2026-09-18._
20
+
21
+ ### Fixed
22
+
23
+ - **`ListBulkScreenshotsResponse200ItemsItemType0.billing`** (#4582) — now typed
24
+ `Union[BillingNode, None, Unset]`. The gateway now returns `billing: null` on every bulk item
25
+ whose `status` is not `completed`, so an item keeps the same keys on every poll; the previous
26
+ model passed that `null` to `BillingNode.from_dict` and failed to parse the page. A completed
27
+ item still carries its node, and a completed item from before the node existed still omits the
28
+ key (`UNSET`). Regenerated from `docs/api/openapi.yaml`.
29
+
8
30
  ## 0.8.0
9
31
 
10
32
  _Release cut 2026-09-14._
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: bytekit-sdk
3
- Version: 0.8.0
3
+ Version: 0.8.2
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.0"
10
+ version = "0.8.2"
11
11
  description = "Official Python SDK for the ByteKit API"
12
12
  readme = "README.md"
13
13
  requires-python = ">=3.10"
@@ -44,9 +44,13 @@ class AccountSessionResponse:
44
44
  a Clerk session or an API key. All-time — never windowed. A request that failed does not flip it, even when its
45
45
  bandwidth was billed: the monitor terminal-preflight-failure path records bytes without credits, and only the
46
46
  credited settlement counts here. Powers the dashboard onboarding gate — the app shows the guided onboarding flow
47
- until this is true, then the dashboard. Lags by up to one usage rollup: the completion service writes the row
48
- after the response is returned, so a just-completed first request may still read false for a moment. Treat that
49
- as "not visible yet", never as "this account has never made a request".
47
+ until this or `onboarding_completed` is true, then the dashboard. Lags by up to one usage rollup: the completion
48
+ service writes the row after the response is returned, so a just-completed first request may still read false
49
+ for a moment. Treat that as "not visible yet", never as "this account has never made a request".
50
+ onboarding_completed (bool): True once a member of the account left onboarding through one of its exits (POST
51
+ /v1/account/complete-onboarding). Never reset. With `has_activity` it gates the dashboard: the app shows the
52
+ guided onboarding flow until either one is true, so a user whose first request failed can still reach the
53
+ dashboard.
50
54
  has_subscription (bool): True when the account has a Stripe subscription, keyed on the same
51
55
  `stripe_subscription_id` column that GET /v1/billing/change-plan's `no_subscription` guard tests — so a client
52
56
  can use it to decide whether that endpoint will answer at all. Stays TRUE while a subscription is mid-
@@ -64,6 +68,7 @@ class AccountSessionResponse:
64
68
  terms_version: str
65
69
  created_at: datetime.datetime
66
70
  has_activity: bool
71
+ onboarding_completed: bool
67
72
  has_subscription: bool
68
73
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
69
74
 
@@ -88,6 +93,8 @@ class AccountSessionResponse:
88
93
 
89
94
  has_activity = self.has_activity
90
95
 
96
+ onboarding_completed = self.onboarding_completed
97
+
91
98
  has_subscription = self.has_subscription
92
99
 
93
100
  field_dict: dict[str, Any] = {}
@@ -103,6 +110,7 @@ class AccountSessionResponse:
103
110
  "terms_version": terms_version,
104
111
  "created_at": created_at,
105
112
  "has_activity": has_activity,
113
+ "onboarding_completed": onboarding_completed,
106
114
  "has_subscription": has_subscription,
107
115
  }
108
116
  )
@@ -147,6 +155,8 @@ class AccountSessionResponse:
147
155
 
148
156
  has_activity = d.pop("has_activity")
149
157
 
158
+ onboarding_completed = d.pop("onboarding_completed")
159
+
150
160
  has_subscription = d.pop("has_subscription")
151
161
 
152
162
  account_session_response = cls(
@@ -159,6 +169,7 @@ class AccountSessionResponse:
159
169
  terms_version=terms_version,
160
170
  created_at=created_at,
161
171
  has_activity=has_activity,
172
+ onboarding_completed=onboarding_completed,
162
173
  has_subscription=has_subscription,
163
174
  )
164
175
 
@@ -2,6 +2,7 @@ from enum import Enum
2
2
 
3
3
 
4
4
  class GetFetchBulkResponse200Status(str, Enum):
5
+ CANCELLED = "cancelled"
5
6
  COMPLETED = "completed"
6
7
  FAILED = "failed"
7
8
  PROCESSING = "processing"
@@ -2,7 +2,6 @@ from enum import Enum
2
2
 
3
3
 
4
4
  class GetFetchBulkResponse202Status(str, Enum):
5
- CANCELLED = "cancelled"
6
5
  PROCESSING = "processing"
7
6
 
8
7
  def __str__(self) -> str:
@@ -44,30 +44,12 @@ class ListBulkScreenshotsResponse200ItemsItemType0:
44
44
  error_code (Union[None, str]):
45
45
  error_message (Union[None, str]): Bounded human-readable failure detail.
46
46
  credits_charged (Union[None, Unset, float]):
47
- billing (Union[Unset, BillingNode]): The authoritative, self-explaining account of what this call was billed and
48
- why. `multiplier` is the product of every entry in `factors`, composed in
49
- list order (`endpoint` → `cache_hit` → `clean_markdown`), and
50
- `billed_bytes = round(raw_bytes × multiplier)` behind exactly one rounding.
51
- The factor list is the DEFINITION of the charge; the `X-Raw-Bytes` /
52
- `X-Billing-Multiplier` / `X-Billable-Bytes` response headers are a rendering
53
- of this same node, so where a header and this node disagree, the header is
54
- the bug.
55
-
56
- Two billable surfaces carry no node, by design rather than by omission:
57
-
58
- * `POST /v1/search` is billed per credit, not per byte. Its charge is
59
- reported by `credits_used`; no byte multiplier applies to it and the
60
- factor vocabulary has no `search` term.
61
- * Single (non-bulk) `POST /v1/fetch` returns the fetched bytes as the
62
- response body, so it has no JSON envelope in which to carry a node. Its
63
- charge is reported by the `X-Raw-Bytes` / `X-Billing-Multiplier` /
64
- `X-Billable-Bytes` header trio alone. Items under
65
- `GET /v1/fetch/bulk/{id}` DO carry the node.
66
-
67
- Historical rows: for a resource that completed before its billing node was
68
- persisted, this field is OMITTED rather than emitted as a zero node — a zero
69
- node would assert that a real past charge was zero. Treat absence as "not
70
- available for this row" and read the charge from `GET /v1/usage`.
47
+ billing (Union['BillingNode', None, Unset]): Itemised account of this item's charge — the basis, the named
48
+ factors
49
+ that composed the multiplier, and the resulting billed bytes. `null`
50
+ while `status` is not `completed` — the charge is not final yet, and
51
+ the key is present so an item keeps the same shape on every poll.
52
+ Omitted for rows that completed before the billing node was persisted.
71
53
  created_at (Union[Unset, datetime.datetime]):
72
54
  completed_at (Union[None, Unset, datetime.datetime]):
73
55
  image_url (Union[None, Unset, str]): `type: screenshot` only. Pre-signed download URL for the image, minted
@@ -110,7 +92,7 @@ class ListBulkScreenshotsResponse200ItemsItemType0:
110
92
  error_code: Union[None, str]
111
93
  error_message: Union[None, str]
112
94
  credits_charged: Union[None, Unset, float] = UNSET
113
- billing: Union[Unset, "BillingNode"] = UNSET
95
+ billing: Union["BillingNode", None, Unset] = UNSET
114
96
  created_at: Union[Unset, datetime.datetime] = UNSET
115
97
  completed_at: Union[None, Unset, datetime.datetime] = UNSET
116
98
  image_url: Union[None, Unset, str] = UNSET
@@ -129,6 +111,8 @@ class ListBulkScreenshotsResponse200ItemsItemType0:
129
111
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
130
112
 
131
113
  def to_dict(self) -> dict[str, Any]:
114
+ from ..models.billing_node import BillingNode
115
+
132
116
  type_ = self.type_.value
133
117
 
134
118
  id = self.id
@@ -149,9 +133,13 @@ class ListBulkScreenshotsResponse200ItemsItemType0:
149
133
  else:
150
134
  credits_charged = self.credits_charged
151
135
 
152
- billing: Union[Unset, dict[str, Any]] = UNSET
153
- if not isinstance(self.billing, Unset):
136
+ billing: Union[None, Unset, dict[str, Any]]
137
+ if isinstance(self.billing, Unset):
138
+ billing = UNSET
139
+ elif isinstance(self.billing, BillingNode):
154
140
  billing = self.billing.to_dict()
141
+ else:
142
+ billing = self.billing
155
143
 
156
144
  created_at: Union[Unset, str] = UNSET
157
145
  if not isinstance(self.created_at, Unset):
@@ -311,12 +299,22 @@ class ListBulkScreenshotsResponse200ItemsItemType0:
311
299
 
312
300
  credits_charged = _parse_credits_charged(d.pop("credits_charged", UNSET))
313
301
 
314
- _billing = d.pop("billing", UNSET)
315
- billing: Union[Unset, BillingNode]
316
- if isinstance(_billing, Unset):
317
- billing = UNSET
318
- else:
319
- billing = BillingNode.from_dict(_billing)
302
+ def _parse_billing(data: object) -> Union["BillingNode", None, Unset]:
303
+ if data is None:
304
+ return data
305
+ if isinstance(data, Unset):
306
+ return data
307
+ try:
308
+ if not isinstance(data, dict):
309
+ raise TypeError()
310
+ billing_type_0 = BillingNode.from_dict(data)
311
+
312
+ return billing_type_0
313
+ except: # noqa: E722
314
+ pass
315
+ return cast(Union["BillingNode", None, Unset], data)
316
+
317
+ billing = _parse_billing(d.pop("billing", UNSET))
320
318
 
321
319
  _created_at = d.pop("created_at", UNSET)
322
320
  created_at: Union[Unset, datetime.datetime]
File without changes
File without changes
File without changes