spatialflow 0.1.0__py3-none-any.whl

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 (404) hide show
  1. spatialflow/__init__.py +91 -0
  2. spatialflow/_generated/.github/workflows/python.yml +31 -0
  3. spatialflow/_generated/.gitignore +66 -0
  4. spatialflow/_generated/.gitlab-ci.yml +31 -0
  5. spatialflow/_generated/.openapi-generator/FILES +390 -0
  6. spatialflow/_generated/.openapi-generator/VERSION +1 -0
  7. spatialflow/_generated/.openapi-generator-ignore +23 -0
  8. spatialflow/_generated/.spec-hash +1 -0
  9. spatialflow/_generated/.travis.yml +17 -0
  10. spatialflow/_generated/README.md +537 -0
  11. spatialflow/_generated/__init__.py +1 -0
  12. spatialflow/_generated/docs/APIUsageStats.md +32 -0
  13. spatialflow/_generated/docs/AccountApi.md +1751 -0
  14. spatialflow/_generated/docs/ActionDeliverySuccessMetrics.md +32 -0
  15. spatialflow/_generated/docs/ActionResponse.md +32 -0
  16. spatialflow/_generated/docs/ActionRetryConfigSchema.md +32 -0
  17. spatialflow/_generated/docs/ActivitySummary.md +30 -0
  18. spatialflow/_generated/docs/AdminApi.md +1787 -0
  19. spatialflow/_generated/docs/ApiKeyCreateRequest.md +31 -0
  20. spatialflow/_generated/docs/ApiKeyCreateResponse.md +31 -0
  21. spatialflow/_generated/docs/ApiKeyResponse.md +38 -0
  22. spatialflow/_generated/docs/ApiKeyUpdateRequest.md +33 -0
  23. spatialflow/_generated/docs/AsyncUploadGeofencesResponse.md +33 -0
  24. spatialflow/_generated/docs/AuthTypeEnum.md +17 -0
  25. spatialflow/_generated/docs/AuthenticationApi.md +1289 -0
  26. spatialflow/_generated/docs/BatchLocationUpdateIn.md +30 -0
  27. spatialflow/_generated/docs/BillingApi.md +925 -0
  28. spatialflow/_generated/docs/BulkGeofenceRequest.md +29 -0
  29. spatialflow/_generated/docs/ChangePasswordSchema.md +30 -0
  30. spatialflow/_generated/docs/CheckoutSessionRequest.md +32 -0
  31. spatialflow/_generated/docs/CheckoutSessionResponse.md +31 -0
  32. spatialflow/_generated/docs/CircuitBreakerSchema.md +33 -0
  33. spatialflow/_generated/docs/ConfigFieldDefinitionRequest.md +41 -0
  34. spatialflow/_generated/docs/ConfigFieldDefinitionResponse.md +43 -0
  35. spatialflow/_generated/docs/ConfirmPasswordResetSchema.md +31 -0
  36. spatialflow/_generated/docs/CreateFromTemplateIn.md +30 -0
  37. spatialflow/_generated/docs/CreateGeofenceRequest.md +36 -0
  38. spatialflow/_generated/docs/CreateIntegrationSchema.md +33 -0
  39. spatialflow/_generated/docs/CreateUserSchema.md +35 -0
  40. spatialflow/_generated/docs/CreateWebhookRequest.md +43 -0
  41. spatialflow/_generated/docs/DashboardComparisonMetrics.md +32 -0
  42. spatialflow/_generated/docs/DashboardMetricsResponse.md +36 -0
  43. spatialflow/_generated/docs/DefaultApi.md +585 -0
  44. spatialflow/_generated/docs/DeleteFileResponse.md +30 -0
  45. spatialflow/_generated/docs/DeliveryStatusEnum.md +15 -0
  46. spatialflow/_generated/docs/DeviceIn.md +32 -0
  47. spatialflow/_generated/docs/DeviceOut.md +37 -0
  48. spatialflow/_generated/docs/DevicesApi.md +1213 -0
  49. spatialflow/_generated/docs/E2ETestApi.md +271 -0
  50. spatialflow/_generated/docs/EmailApi.md +541 -0
  51. spatialflow/_generated/docs/EmailHealthResponse.md +31 -0
  52. spatialflow/_generated/docs/EmailQueueStats.md +34 -0
  53. spatialflow/_generated/docs/EmailStats.md +31 -0
  54. spatialflow/_generated/docs/EmailStatusResponse.md +36 -0
  55. spatialflow/_generated/docs/ErrorResponse.md +32 -0
  56. spatialflow/_generated/docs/ExecutionOut.md +38 -0
  57. spatialflow/_generated/docs/ExportIntegrationSchema.md +35 -0
  58. spatialflow/_generated/docs/FileListResponse.md +31 -0
  59. spatialflow/_generated/docs/ForgotPasswordSchema.md +29 -0
  60. spatialflow/_generated/docs/GPXPlaybackOut.md +42 -0
  61. spatialflow/_generated/docs/GPXRouteOut.md +40 -0
  62. spatialflow/_generated/docs/GPXSimulatorApi.md +883 -0
  63. spatialflow/_generated/docs/GeoJSONPoint.md +31 -0
  64. spatialflow/_generated/docs/GeofenceListResponse.md +31 -0
  65. spatialflow/_generated/docs/GeofenceResponse.md +43 -0
  66. spatialflow/_generated/docs/GeofenceStats.md +30 -0
  67. spatialflow/_generated/docs/GeofenceTestResult.md +33 -0
  68. spatialflow/_generated/docs/GeofencesApi.md +1524 -0
  69. spatialflow/_generated/docs/HealthCheckResponse.md +31 -0
  70. spatialflow/_generated/docs/HealthResponse.md +32 -0
  71. spatialflow/_generated/docs/ImportIntegrationSchema.md +32 -0
  72. spatialflow/_generated/docs/ImportResultSchema.md +33 -0
  73. spatialflow/_generated/docs/IntegrationDetailSchema.md +44 -0
  74. spatialflow/_generated/docs/IntegrationResponseSchema.md +42 -0
  75. spatialflow/_generated/docs/IntegrationStatsSchema.md +36 -0
  76. spatialflow/_generated/docs/IntegrationTypeListResponse.md +34 -0
  77. spatialflow/_generated/docs/IntegrationTypeRequest.md +40 -0
  78. spatialflow/_generated/docs/IntegrationTypeResponse.md +45 -0
  79. spatialflow/_generated/docs/IntegrationsApi.md +2008 -0
  80. spatialflow/_generated/docs/InvoiceLineItem.md +33 -0
  81. spatialflow/_generated/docs/InvoiceListResponse.md +31 -0
  82. spatialflow/_generated/docs/InvoiceResponse.md +40 -0
  83. spatialflow/_generated/docs/LocationBatchIn.md +31 -0
  84. spatialflow/_generated/docs/LocationImportResponse.md +41 -0
  85. spatialflow/_generated/docs/LocationIngestResponse.md +35 -0
  86. spatialflow/_generated/docs/LocationPointIn.md +38 -0
  87. spatialflow/_generated/docs/LocationUpdateIn.md +36 -0
  88. spatialflow/_generated/docs/LocationUpdateOut.md +32 -0
  89. spatialflow/_generated/docs/LoginResponse.md +33 -0
  90. spatialflow/_generated/docs/LoginSchema.md +30 -0
  91. spatialflow/_generated/docs/MemberActionResponse.md +33 -0
  92. spatialflow/_generated/docs/MemberSummary.md +36 -0
  93. spatialflow/_generated/docs/MethodEnum.md +17 -0
  94. spatialflow/_generated/docs/OAuthAuthorizeResponse.md +29 -0
  95. spatialflow/_generated/docs/OAuthCallbackQuery.md +32 -0
  96. spatialflow/_generated/docs/OAuthLinkResponse.md +31 -0
  97. spatialflow/_generated/docs/OAuthProvidersResponse.md +29 -0
  98. spatialflow/_generated/docs/OnboardingProgressResponse.md +37 -0
  99. spatialflow/_generated/docs/PaymentMethodResponse.md +37 -0
  100. spatialflow/_generated/docs/PingResponse.md +31 -0
  101. spatialflow/_generated/docs/PlanChangePreviewResponse.md +35 -0
  102. spatialflow/_generated/docs/PlanFeatures.md +36 -0
  103. spatialflow/_generated/docs/PlanLimits.md +34 -0
  104. spatialflow/_generated/docs/PlanResponse.md +37 -0
  105. spatialflow/_generated/docs/PortalSessionRequest.md +30 -0
  106. spatialflow/_generated/docs/PortalSessionResponse.md +30 -0
  107. spatialflow/_generated/docs/PresignedUrlRequest.md +31 -0
  108. spatialflow/_generated/docs/PresignedUrlResponse.md +35 -0
  109. spatialflow/_generated/docs/PrivacyErasureRequest.md +35 -0
  110. spatialflow/_generated/docs/PrivacyErasureResponse.md +36 -0
  111. spatialflow/_generated/docs/PublicApi.md +389 -0
  112. spatialflow/_generated/docs/PublicLocationIngestApi.md +249 -0
  113. spatialflow/_generated/docs/RateLimitResponse.md +32 -0
  114. spatialflow/_generated/docs/RecentActivity.md +31 -0
  115. spatialflow/_generated/docs/RefreshTokenSchema.md +29 -0
  116. spatialflow/_generated/docs/RegisterSchema.md +37 -0
  117. spatialflow/_generated/docs/ResendVerificationSchema.md +29 -0
  118. spatialflow/_generated/docs/ResetPasswordSchema.md +31 -0
  119. spatialflow/_generated/docs/RetryPolicyResponseSchema.md +32 -0
  120. spatialflow/_generated/docs/RetryPolicySchema.md +35 -0
  121. spatialflow/_generated/docs/RetryStrategyEnum.md +14 -0
  122. spatialflow/_generated/docs/SeedDataResponseSchema.md +31 -0
  123. spatialflow/_generated/docs/SendEmailRequest.md +33 -0
  124. spatialflow/_generated/docs/SetupIntentResponse.md +30 -0
  125. spatialflow/_generated/docs/SignupRequest.md +40 -0
  126. spatialflow/_generated/docs/StartPlaybackRequest.md +30 -0
  127. spatialflow/_generated/docs/StorageApi.md +494 -0
  128. spatialflow/_generated/docs/SubscriptionActionResponse.md +32 -0
  129. spatialflow/_generated/docs/SubscriptionResponse.md +36 -0
  130. spatialflow/_generated/docs/SubscriptionsApi.md +677 -0
  131. spatialflow/_generated/docs/SuccessResponse.md +31 -0
  132. spatialflow/_generated/docs/SystemApi.md +137 -0
  133. spatialflow/_generated/docs/TemplateOut.md +35 -0
  134. spatialflow/_generated/docs/TestEventRequest.md +29 -0
  135. spatialflow/_generated/docs/TestIntegrationResponseSchema.md +31 -0
  136. spatialflow/_generated/docs/TestPointRequest.md +34 -0
  137. spatialflow/_generated/docs/TestPointResponse.md +33 -0
  138. spatialflow/_generated/docs/TestWebhookRequest.md +32 -0
  139. spatialflow/_generated/docs/TestWorkflowIn.md +29 -0
  140. spatialflow/_generated/docs/TileMetadata.md +36 -0
  141. spatialflow/_generated/docs/TilesApi.md +462 -0
  142. spatialflow/_generated/docs/UnsubscribeRequest.md +29 -0
  143. spatialflow/_generated/docs/UnsubscribeResponse.md +31 -0
  144. spatialflow/_generated/docs/UpdateGeofenceRequest.md +37 -0
  145. spatialflow/_generated/docs/UpdateIntegrationSchema.md +33 -0
  146. spatialflow/_generated/docs/UpdateMemberRoleRequest.md +30 -0
  147. spatialflow/_generated/docs/UpdateOnboardingProgressRequest.md +30 -0
  148. spatialflow/_generated/docs/UpdateProfileRequest.md +45 -0
  149. spatialflow/_generated/docs/UpdateUserWorkspaceRequest.md +31 -0
  150. spatialflow/_generated/docs/UpdateWebhookRequest.md +43 -0
  151. spatialflow/_generated/docs/UploadGeofencesRequest.md +31 -0
  152. spatialflow/_generated/docs/UploadJobStatus.md +42 -0
  153. spatialflow/_generated/docs/UsageMetrics.md +33 -0
  154. spatialflow/_generated/docs/UsageResponse.md +36 -0
  155. spatialflow/_generated/docs/UsageStats.md +32 -0
  156. spatialflow/_generated/docs/UserActionResponse.md +35 -0
  157. spatialflow/_generated/docs/UserApprovalRequest.md +30 -0
  158. spatialflow/_generated/docs/UserInviteRequest.md +33 -0
  159. spatialflow/_generated/docs/UserInviteResponse.md +36 -0
  160. spatialflow/_generated/docs/UserListResponse.md +34 -0
  161. spatialflow/_generated/docs/UserProfileResponse.md +55 -0
  162. spatialflow/_generated/docs/UserRejectionRequest.md +30 -0
  163. spatialflow/_generated/docs/UserResponse.md +44 -0
  164. spatialflow/_generated/docs/UserSummary.md +41 -0
  165. spatialflow/_generated/docs/UserUsageResponse.md +38 -0
  166. spatialflow/_generated/docs/UserWorkspaceResponse.md +34 -0
  167. spatialflow/_generated/docs/WebhookDeliveryDetailResponse.md +49 -0
  168. spatialflow/_generated/docs/WebhookDeliveryListResponse.md +31 -0
  169. spatialflow/_generated/docs/WebhookDeliveryResponse.md +46 -0
  170. spatialflow/_generated/docs/WebhookListResponse.md +31 -0
  171. spatialflow/_generated/docs/WebhookMetricsResponse.md +31 -0
  172. spatialflow/_generated/docs/WebhookResponse.md +50 -0
  173. spatialflow/_generated/docs/WebhookTestResponse.md +36 -0
  174. spatialflow/_generated/docs/WebhooksApi.md +1384 -0
  175. spatialflow/_generated/docs/WorkflowImportSchema.md +30 -0
  176. spatialflow/_generated/docs/WorkflowIn.md +32 -0
  177. spatialflow/_generated/docs/WorkflowListOut.md +39 -0
  178. spatialflow/_generated/docs/WorkflowListResponse.md +32 -0
  179. spatialflow/_generated/docs/WorkflowOut.md +42 -0
  180. spatialflow/_generated/docs/WorkflowRetryPolicyUpdateSchema.md +32 -0
  181. spatialflow/_generated/docs/WorkflowStepRetrySchema.md +33 -0
  182. spatialflow/_generated/docs/WorkflowUpdate.md +33 -0
  183. spatialflow/_generated/docs/WorkflowsApi.md +2599 -0
  184. spatialflow/_generated/docs/WorkspaceDeleteResponse.md +33 -0
  185. spatialflow/_generated/docs/WorkspaceDetail.md +37 -0
  186. spatialflow/_generated/docs/WorkspaceDetailResponse.md +41 -0
  187. spatialflow/_generated/docs/WorkspaceIn.md +34 -0
  188. spatialflow/_generated/docs/WorkspaceListItem.md +39 -0
  189. spatialflow/_generated/docs/WorkspaceListResponse.md +34 -0
  190. spatialflow/_generated/docs/WorkspaceMembersResponse.md +35 -0
  191. spatialflow/_generated/docs/WorkspaceOut.md +38 -0
  192. spatialflow/_generated/docs/WorkspaceSummary.md +32 -0
  193. spatialflow/_generated/docs/WorkspaceUpdateRequest.md +34 -0
  194. spatialflow/_generated/docs/WorkspaceUpdateResponse.md +33 -0
  195. spatialflow/_generated/docs/WorkspacesApi.md +241 -0
  196. spatialflow/_generated/git_push.sh +57 -0
  197. spatialflow/_generated/pyproject.toml +91 -0
  198. spatialflow/_generated/requirements.txt +6 -0
  199. spatialflow/_generated/setup.cfg +2 -0
  200. spatialflow/_generated/setup.py +51 -0
  201. spatialflow/_generated/spatialflow_generated/__init__.py +216 -0
  202. spatialflow/_generated/spatialflow_generated/api/__init__.py +24 -0
  203. spatialflow/_generated/spatialflow_generated/api/account_api.py +5675 -0
  204. spatialflow/_generated/spatialflow_generated/api/admin_api.py +6173 -0
  205. spatialflow/_generated/spatialflow_generated/api/authentication_api.py +4753 -0
  206. spatialflow/_generated/spatialflow_generated/api/billing_api.py +3151 -0
  207. spatialflow/_generated/spatialflow_generated/api/default_api.py +2157 -0
  208. spatialflow/_generated/spatialflow_generated/api/devices_api.py +3965 -0
  209. spatialflow/_generated/spatialflow_generated/api/e2_e_test_api.py +1049 -0
  210. spatialflow/_generated/spatialflow_generated/api/email_api.py +1879 -0
  211. spatialflow/_generated/spatialflow_generated/api/geofences_api.py +4899 -0
  212. spatialflow/_generated/spatialflow_generated/api/gpx_simulator_api.py +2824 -0
  213. spatialflow/_generated/spatialflow_generated/api/integrations_api.py +6952 -0
  214. spatialflow/_generated/spatialflow_generated/api/public_api.py +1506 -0
  215. spatialflow/_generated/spatialflow_generated/api/public_location_ingest_api.py +845 -0
  216. spatialflow/_generated/spatialflow_generated/api/storage_api.py +1642 -0
  217. spatialflow/_generated/spatialflow_generated/api/subscriptions_api.py +2356 -0
  218. spatialflow/_generated/spatialflow_generated/api/system_api.py +529 -0
  219. spatialflow/_generated/spatialflow_generated/api/tiles_api.py +1626 -0
  220. spatialflow/_generated/spatialflow_generated/api/webhooks_api.py +4579 -0
  221. spatialflow/_generated/spatialflow_generated/api/workflows_api.py +8334 -0
  222. spatialflow/_generated/spatialflow_generated/api/workspaces_api.py +813 -0
  223. spatialflow/_generated/spatialflow_generated/api_client.py +800 -0
  224. spatialflow/_generated/spatialflow_generated/api_response.py +21 -0
  225. spatialflow/_generated/spatialflow_generated/configuration.py +599 -0
  226. spatialflow/_generated/spatialflow_generated/exceptions.py +199 -0
  227. spatialflow/_generated/spatialflow_generated/models/__init__.py +180 -0
  228. spatialflow/_generated/spatialflow_generated/models/action_delivery_success_metrics.py +96 -0
  229. spatialflow/_generated/spatialflow_generated/models/action_response.py +96 -0
  230. spatialflow/_generated/spatialflow_generated/models/action_retry_config_schema.py +114 -0
  231. spatialflow/_generated/spatialflow_generated/models/activity_summary.py +89 -0
  232. spatialflow/_generated/spatialflow_generated/models/api_key_create_request.py +95 -0
  233. spatialflow/_generated/spatialflow_generated/models/api_key_create_response.py +89 -0
  234. spatialflow/_generated/spatialflow_generated/models/api_key_response.py +109 -0
  235. spatialflow/_generated/spatialflow_generated/models/api_key_update_request.py +114 -0
  236. spatialflow/_generated/spatialflow_generated/models/api_usage_stats.py +98 -0
  237. spatialflow/_generated/spatialflow_generated/models/async_upload_geofences_response.py +93 -0
  238. spatialflow/_generated/spatialflow_generated/models/auth_type_enum.py +39 -0
  239. spatialflow/_generated/spatialflow_generated/models/batch_location_update_in.py +97 -0
  240. spatialflow/_generated/spatialflow_generated/models/bulk_geofence_request.py +95 -0
  241. spatialflow/_generated/spatialflow_generated/models/change_password_schema.py +89 -0
  242. spatialflow/_generated/spatialflow_generated/models/checkout_session_request.py +91 -0
  243. spatialflow/_generated/spatialflow_generated/models/checkout_session_response.py +89 -0
  244. spatialflow/_generated/spatialflow_generated/models/circuit_breaker_schema.py +94 -0
  245. spatialflow/_generated/spatialflow_generated/models/config_field_definition_request.py +134 -0
  246. spatialflow/_generated/spatialflow_generated/models/config_field_definition_response.py +138 -0
  247. spatialflow/_generated/spatialflow_generated/models/confirm_password_reset_schema.py +89 -0
  248. spatialflow/_generated/spatialflow_generated/models/create_from_template_in.py +94 -0
  249. spatialflow/_generated/spatialflow_generated/models/create_geofence_request.py +125 -0
  250. spatialflow/_generated/spatialflow_generated/models/create_integration_schema.py +106 -0
  251. spatialflow/_generated/spatialflow_generated/models/create_user_schema.py +99 -0
  252. spatialflow/_generated/spatialflow_generated/models/create_webhook_request.py +136 -0
  253. spatialflow/_generated/spatialflow_generated/models/dashboard_comparison_metrics.py +96 -0
  254. spatialflow/_generated/spatialflow_generated/models/dashboard_metrics_response.py +108 -0
  255. spatialflow/_generated/spatialflow_generated/models/delete_file_response.py +89 -0
  256. spatialflow/_generated/spatialflow_generated/models/delivery_status_enum.py +38 -0
  257. spatialflow/_generated/spatialflow_generated/models/device_in.py +98 -0
  258. spatialflow/_generated/spatialflow_generated/models/device_out.py +114 -0
  259. spatialflow/_generated/spatialflow_generated/models/email_health_response.py +92 -0
  260. spatialflow/_generated/spatialflow_generated/models/email_queue_stats.py +97 -0
  261. spatialflow/_generated/spatialflow_generated/models/email_stats.py +91 -0
  262. spatialflow/_generated/spatialflow_generated/models/email_status_response.py +112 -0
  263. spatialflow/_generated/spatialflow_generated/models/error_response.py +101 -0
  264. spatialflow/_generated/spatialflow_generated/models/execution_out.py +126 -0
  265. spatialflow/_generated/spatialflow_generated/models/export_integration_schema.py +97 -0
  266. spatialflow/_generated/spatialflow_generated/models/file_list_response.py +91 -0
  267. spatialflow/_generated/spatialflow_generated/models/forgot_password_schema.py +87 -0
  268. spatialflow/_generated/spatialflow_generated/models/geo_json_point.py +97 -0
  269. spatialflow/_generated/spatialflow_generated/models/geofence_list_response.py +97 -0
  270. spatialflow/_generated/spatialflow_generated/models/geofence_response.py +139 -0
  271. spatialflow/_generated/spatialflow_generated/models/geofence_stats.py +89 -0
  272. spatialflow/_generated/spatialflow_generated/models/geofence_test_result.py +98 -0
  273. spatialflow/_generated/spatialflow_generated/models/gpx_playback_out.py +128 -0
  274. spatialflow/_generated/spatialflow_generated/models/gpx_route_out.py +119 -0
  275. spatialflow/_generated/spatialflow_generated/models/health_check_response.py +91 -0
  276. spatialflow/_generated/spatialflow_generated/models/health_response.py +91 -0
  277. spatialflow/_generated/spatialflow_generated/models/import_integration_schema.py +100 -0
  278. spatialflow/_generated/spatialflow_generated/models/import_result_schema.py +103 -0
  279. spatialflow/_generated/spatialflow_generated/models/integration_detail_schema.py +125 -0
  280. spatialflow/_generated/spatialflow_generated/models/integration_response_schema.py +123 -0
  281. spatialflow/_generated/spatialflow_generated/models/integration_stats_schema.py +116 -0
  282. spatialflow/_generated/spatialflow_generated/models/integration_type_list_response.py +103 -0
  283. spatialflow/_generated/spatialflow_generated/models/integration_type_request.py +117 -0
  284. spatialflow/_generated/spatialflow_generated/models/integration_type_response.py +128 -0
  285. spatialflow/_generated/spatialflow_generated/models/invoice_line_item.py +93 -0
  286. spatialflow/_generated/spatialflow_generated/models/invoice_list_response.py +97 -0
  287. spatialflow/_generated/spatialflow_generated/models/invoice_response.py +120 -0
  288. spatialflow/_generated/spatialflow_generated/models/location_batch_in.py +102 -0
  289. spatialflow/_generated/spatialflow_generated/models/location_import_response.py +120 -0
  290. spatialflow/_generated/spatialflow_generated/models/location_ingest_response.py +117 -0
  291. spatialflow/_generated/spatialflow_generated/models/location_point_in.py +129 -0
  292. spatialflow/_generated/spatialflow_generated/models/location_update_in.py +132 -0
  293. spatialflow/_generated/spatialflow_generated/models/location_update_out.py +93 -0
  294. spatialflow/_generated/spatialflow_generated/models/login_response.py +95 -0
  295. spatialflow/_generated/spatialflow_generated/models/login_schema.py +89 -0
  296. spatialflow/_generated/spatialflow_generated/models/member_action_response.py +98 -0
  297. spatialflow/_generated/spatialflow_generated/models/member_summary.py +114 -0
  298. spatialflow/_generated/spatialflow_generated/models/method_enum.py +39 -0
  299. spatialflow/_generated/spatialflow_generated/models/o_auth_authorize_response.py +87 -0
  300. spatialflow/_generated/spatialflow_generated/models/o_auth_callback_query.py +103 -0
  301. spatialflow/_generated/spatialflow_generated/models/o_auth_link_response.py +91 -0
  302. spatialflow/_generated/spatialflow_generated/models/o_auth_providers_response.py +87 -0
  303. spatialflow/_generated/spatialflow_generated/models/onboarding_progress_response.py +112 -0
  304. spatialflow/_generated/spatialflow_generated/models/payment_method_response.py +116 -0
  305. spatialflow/_generated/spatialflow_generated/models/ping_response.py +91 -0
  306. spatialflow/_generated/spatialflow_generated/models/plan_change_preview_response.py +104 -0
  307. spatialflow/_generated/spatialflow_generated/models/plan_features.py +109 -0
  308. spatialflow/_generated/spatialflow_generated/models/plan_limits.py +95 -0
  309. spatialflow/_generated/spatialflow_generated/models/plan_response.py +114 -0
  310. spatialflow/_generated/spatialflow_generated/models/portal_session_request.py +87 -0
  311. spatialflow/_generated/spatialflow_generated/models/portal_session_response.py +87 -0
  312. spatialflow/_generated/spatialflow_generated/models/presigned_url_request.py +91 -0
  313. spatialflow/_generated/spatialflow_generated/models/presigned_url_response.py +99 -0
  314. spatialflow/_generated/spatialflow_generated/models/privacy_erasure_request.py +118 -0
  315. spatialflow/_generated/spatialflow_generated/models/privacy_erasure_response.py +110 -0
  316. spatialflow/_generated/spatialflow_generated/models/rate_limit_response.py +91 -0
  317. spatialflow/_generated/spatialflow_generated/models/recent_activity.py +91 -0
  318. spatialflow/_generated/spatialflow_generated/models/refresh_token_schema.py +87 -0
  319. spatialflow/_generated/spatialflow_generated/models/register_schema.py +133 -0
  320. spatialflow/_generated/spatialflow_generated/models/resend_verification_schema.py +87 -0
  321. spatialflow/_generated/spatialflow_generated/models/reset_password_schema.py +91 -0
  322. spatialflow/_generated/spatialflow_generated/models/retry_policy_response_schema.py +95 -0
  323. spatialflow/_generated/spatialflow_generated/models/retry_policy_schema.py +99 -0
  324. spatialflow/_generated/spatialflow_generated/models/retry_strategy_enum.py +38 -0
  325. spatialflow/_generated/spatialflow_generated/models/seed_data_response_schema.py +91 -0
  326. spatialflow/_generated/spatialflow_generated/models/send_email_request.py +100 -0
  327. spatialflow/_generated/spatialflow_generated/models/setup_intent_response.py +87 -0
  328. spatialflow/_generated/spatialflow_generated/models/signup_request.py +164 -0
  329. spatialflow/_generated/spatialflow_generated/models/start_playback_request.py +89 -0
  330. spatialflow/_generated/spatialflow_generated/models/subscription_action_response.py +100 -0
  331. spatialflow/_generated/spatialflow_generated/models/subscription_response.py +113 -0
  332. spatialflow/_generated/spatialflow_generated/models/success_response.py +94 -0
  333. spatialflow/_generated/spatialflow_generated/models/template_out.py +104 -0
  334. spatialflow/_generated/spatialflow_generated/models/test_event_request.py +92 -0
  335. spatialflow/_generated/spatialflow_generated/models/test_integration_response_schema.py +91 -0
  336. spatialflow/_generated/spatialflow_generated/models/test_point_request.py +125 -0
  337. spatialflow/_generated/spatialflow_generated/models/test_point_response.py +101 -0
  338. spatialflow/_generated/spatialflow_generated/models/test_webhook_request.py +106 -0
  339. spatialflow/_generated/spatialflow_generated/models/test_workflow_in.py +87 -0
  340. spatialflow/_generated/spatialflow_generated/models/tile_metadata.py +99 -0
  341. spatialflow/_generated/spatialflow_generated/models/unsubscribe_request.py +87 -0
  342. spatialflow/_generated/spatialflow_generated/models/unsubscribe_response.py +91 -0
  343. spatialflow/_generated/spatialflow_generated/models/update_geofence_request.py +142 -0
  344. spatialflow/_generated/spatialflow_generated/models/update_integration_schema.py +121 -0
  345. spatialflow/_generated/spatialflow_generated/models/update_member_role_request.py +87 -0
  346. spatialflow/_generated/spatialflow_generated/models/update_onboarding_progress_request.py +87 -0
  347. spatialflow/_generated/spatialflow_generated/models/update_profile_request.py +208 -0
  348. spatialflow/_generated/spatialflow_generated/models/update_user_workspace_request.py +89 -0
  349. spatialflow/_generated/spatialflow_generated/models/update_webhook_request.py +186 -0
  350. spatialflow/_generated/spatialflow_generated/models/upload_geofences_request.py +95 -0
  351. spatialflow/_generated/spatialflow_generated/models/upload_job_status.py +137 -0
  352. spatialflow/_generated/spatialflow_generated/models/usage_metrics.py +93 -0
  353. spatialflow/_generated/spatialflow_generated/models/usage_response.py +105 -0
  354. spatialflow/_generated/spatialflow_generated/models/usage_stats.py +91 -0
  355. spatialflow/_generated/spatialflow_generated/models/user_action_response.py +119 -0
  356. spatialflow/_generated/spatialflow_generated/models/user_approval_request.py +92 -0
  357. spatialflow/_generated/spatialflow_generated/models/user_invite_request.py +110 -0
  358. spatialflow/_generated/spatialflow_generated/models/user_invite_response.py +99 -0
  359. spatialflow/_generated/spatialflow_generated/models/user_list_response.py +110 -0
  360. spatialflow/_generated/spatialflow_generated/models/user_profile_response.py +158 -0
  361. spatialflow/_generated/spatialflow_generated/models/user_rejection_request.py +87 -0
  362. spatialflow/_generated/spatialflow_generated/models/user_response.py +142 -0
  363. spatialflow/_generated/spatialflow_generated/models/user_summary.py +140 -0
  364. spatialflow/_generated/spatialflow_generated/models/user_usage_response.py +152 -0
  365. spatialflow/_generated/spatialflow_generated/models/user_workspace_response.py +110 -0
  366. spatialflow/_generated/spatialflow_generated/models/webhook_delivery_detail_response.py +182 -0
  367. spatialflow/_generated/spatialflow_generated/models/webhook_delivery_list_response.py +97 -0
  368. spatialflow/_generated/spatialflow_generated/models/webhook_delivery_response.py +161 -0
  369. spatialflow/_generated/spatialflow_generated/models/webhook_list_response.py +97 -0
  370. spatialflow/_generated/spatialflow_generated/models/webhook_metrics_response.py +89 -0
  371. spatialflow/_generated/spatialflow_generated/models/webhook_response.py +148 -0
  372. spatialflow/_generated/spatialflow_generated/models/webhook_test_response.py +114 -0
  373. spatialflow/_generated/spatialflow_generated/models/workflow_import_schema.py +89 -0
  374. spatialflow/_generated/spatialflow_generated/models/workflow_in.py +98 -0
  375. spatialflow/_generated/spatialflow_generated/models/workflow_list_out.py +118 -0
  376. spatialflow/_generated/spatialflow_generated/models/workflow_list_response.py +101 -0
  377. spatialflow/_generated/spatialflow_generated/models/workflow_out.py +129 -0
  378. spatialflow/_generated/spatialflow_generated/models/workflow_retry_policy_update_schema.py +109 -0
  379. spatialflow/_generated/spatialflow_generated/models/workflow_step_retry_schema.py +103 -0
  380. spatialflow/_generated/spatialflow_generated/models/workflow_update.py +120 -0
  381. spatialflow/_generated/spatialflow_generated/models/workspace_delete_response.py +93 -0
  382. spatialflow/_generated/spatialflow_generated/models/workspace_detail.py +116 -0
  383. spatialflow/_generated/spatialflow_generated/models/workspace_detail_response.py +143 -0
  384. spatialflow/_generated/spatialflow_generated/models/workspace_in.py +122 -0
  385. spatialflow/_generated/spatialflow_generated/models/workspace_list_item.py +130 -0
  386. spatialflow/_generated/spatialflow_generated/models/workspace_list_response.py +103 -0
  387. spatialflow/_generated/spatialflow_generated/models/workspace_members_response.py +109 -0
  388. spatialflow/_generated/spatialflow_generated/models/workspace_out.py +132 -0
  389. spatialflow/_generated/spatialflow_generated/models/workspace_summary.py +91 -0
  390. spatialflow/_generated/spatialflow_generated/models/workspace_update_request.py +120 -0
  391. spatialflow/_generated/spatialflow_generated/models/workspace_update_response.py +93 -0
  392. spatialflow/_generated/spatialflow_generated/py.typed +0 -0
  393. spatialflow/_generated/spatialflow_generated/rest.py +215 -0
  394. spatialflow/_generated/test-requirements.txt +6 -0
  395. spatialflow/_generated/tox.ini +9 -0
  396. spatialflow/client.py +137 -0
  397. spatialflow/exceptions.py +234 -0
  398. spatialflow/jobs.py +204 -0
  399. spatialflow/pagination.py +142 -0
  400. spatialflow/uploads.py +166 -0
  401. spatialflow/webhooks.py +126 -0
  402. spatialflow-0.1.0.dist-info/METADATA +249 -0
  403. spatialflow-0.1.0.dist-info/RECORD +404 -0
  404. spatialflow-0.1.0.dist-info/WHEEL +4 -0
@@ -0,0 +1,4899 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ SpatialFlow API
5
+
6
+ Real-time geospatial automation platform API. ## Authentication **API Key:** Include `X-API-Key` header **JWT Token:** Include `Authorization: Bearer <token>` header ## Rate Limits - Per API Key: 200 rps sustained, 1,000 rps burst - Per Organization: 1,000 rps aggregate ## Webhook Verification Outbound webhooks include HMAC-SHA256 signatures in `X-SF-Signature` header. ## Support - Documentation: https://docs.spatialflow.io - GitHub: https://github.com/spatialflow/spatialflow - Email: support@spatialflow.io
7
+
8
+ The version of the OpenAPI document: 1.0.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+ import warnings
15
+ from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt
16
+ from typing import Any, Dict, List, Optional, Tuple, Union
17
+ from typing_extensions import Annotated
18
+
19
+ from pydantic import Field, StrictBool, StrictInt, StrictStr
20
+ from typing import Any, Dict, Optional
21
+ from typing_extensions import Annotated
22
+ from ..models.async_upload_geofences_response import AsyncUploadGeofencesResponse
23
+ from ..models.bulk_geofence_request import BulkGeofenceRequest
24
+ from ..models.create_geofence_request import CreateGeofenceRequest
25
+ from ..models.geofence_list_response import GeofenceListResponse
26
+ from ..models.geofence_response import GeofenceResponse
27
+ from ..models.test_event_request import TestEventRequest
28
+ from ..models.test_point_request import TestPointRequest
29
+ from ..models.test_point_response import TestPointResponse
30
+ from ..models.update_geofence_request import UpdateGeofenceRequest
31
+ from ..models.upload_geofences_request import UploadGeofencesRequest
32
+ from ..models.upload_job_status import UploadJobStatus
33
+
34
+ from ..api_client import ApiClient, RequestSerialized
35
+ from ..api_response import ApiResponse
36
+ from ..rest import RESTResponseType
37
+
38
+
39
+ class GeofencesApi:
40
+ """NOTE: This class is auto generated by OpenAPI Generator
41
+ Ref: https://openapi-generator.tech
42
+
43
+ Do not edit the class manually.
44
+ """
45
+
46
+ def __init__(self, api_client=None) -> None:
47
+ if api_client is None:
48
+ api_client = ApiClient.get_default()
49
+ self.api_client = api_client
50
+
51
+
52
+ @validate_call
53
+ async def apps_geofences_api_bulk_create_geofences(
54
+ self,
55
+ bulk_geofence_request: BulkGeofenceRequest,
56
+ _request_timeout: Union[
57
+ None,
58
+ Annotated[StrictFloat, Field(gt=0)],
59
+ Tuple[
60
+ Annotated[StrictFloat, Field(gt=0)],
61
+ Annotated[StrictFloat, Field(gt=0)]
62
+ ]
63
+ ] = None,
64
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
65
+ _content_type: Optional[StrictStr] = None,
66
+ _headers: Optional[Dict[StrictStr, Any]] = None,
67
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
68
+ ) -> Dict[str, object]:
69
+ """Bulk Create Geofences
70
+
71
+ Bulk create multiple geofences. This endpoint allows users with the BATCH_OPERATIONS feature to create multiple geofences in a single request. Maximum 100 geofences per request.
72
+
73
+ :param bulk_geofence_request: (required)
74
+ :type bulk_geofence_request: BulkGeofenceRequest
75
+ :param _request_timeout: timeout setting for this request. If one
76
+ number provided, it will be total request
77
+ timeout. It can also be a pair (tuple) of
78
+ (connection, read) timeouts.
79
+ :type _request_timeout: int, tuple(int, int), optional
80
+ :param _request_auth: set to override the auth_settings for an a single
81
+ request; this effectively ignores the
82
+ authentication in the spec for a single request.
83
+ :type _request_auth: dict, optional
84
+ :param _content_type: force content-type for the request.
85
+ :type _content_type: str, Optional
86
+ :param _headers: set to override the headers for a single
87
+ request; this effectively ignores the headers
88
+ in the spec for a single request.
89
+ :type _headers: dict, optional
90
+ :param _host_index: set to override the host_index for a single
91
+ request; this effectively ignores the host_index
92
+ in the spec for a single request.
93
+ :type _host_index: int, optional
94
+ :return: Returns the result object.
95
+ """ # noqa: E501
96
+
97
+ _param = self._apps_geofences_api_bulk_create_geofences_serialize(
98
+ bulk_geofence_request=bulk_geofence_request,
99
+ _request_auth=_request_auth,
100
+ _content_type=_content_type,
101
+ _headers=_headers,
102
+ _host_index=_host_index
103
+ )
104
+
105
+ _response_types_map: Dict[str, Optional[str]] = {
106
+ '201': "Dict[str, object]",
107
+ '400': "Dict[str, object]",
108
+ '403': "Dict[str, object]",
109
+ }
110
+ response_data = await self.api_client.call_api(
111
+ *_param,
112
+ _request_timeout=_request_timeout
113
+ )
114
+ await response_data.read()
115
+ return self.api_client.response_deserialize(
116
+ response_data=response_data,
117
+ response_types_map=_response_types_map,
118
+ ).data
119
+
120
+
121
+ @validate_call
122
+ async def apps_geofences_api_bulk_create_geofences_with_http_info(
123
+ self,
124
+ bulk_geofence_request: BulkGeofenceRequest,
125
+ _request_timeout: Union[
126
+ None,
127
+ Annotated[StrictFloat, Field(gt=0)],
128
+ Tuple[
129
+ Annotated[StrictFloat, Field(gt=0)],
130
+ Annotated[StrictFloat, Field(gt=0)]
131
+ ]
132
+ ] = None,
133
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
134
+ _content_type: Optional[StrictStr] = None,
135
+ _headers: Optional[Dict[StrictStr, Any]] = None,
136
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
137
+ ) -> ApiResponse[Dict[str, object]]:
138
+ """Bulk Create Geofences
139
+
140
+ Bulk create multiple geofences. This endpoint allows users with the BATCH_OPERATIONS feature to create multiple geofences in a single request. Maximum 100 geofences per request.
141
+
142
+ :param bulk_geofence_request: (required)
143
+ :type bulk_geofence_request: BulkGeofenceRequest
144
+ :param _request_timeout: timeout setting for this request. If one
145
+ number provided, it will be total request
146
+ timeout. It can also be a pair (tuple) of
147
+ (connection, read) timeouts.
148
+ :type _request_timeout: int, tuple(int, int), optional
149
+ :param _request_auth: set to override the auth_settings for an a single
150
+ request; this effectively ignores the
151
+ authentication in the spec for a single request.
152
+ :type _request_auth: dict, optional
153
+ :param _content_type: force content-type for the request.
154
+ :type _content_type: str, Optional
155
+ :param _headers: set to override the headers for a single
156
+ request; this effectively ignores the headers
157
+ in the spec for a single request.
158
+ :type _headers: dict, optional
159
+ :param _host_index: set to override the host_index for a single
160
+ request; this effectively ignores the host_index
161
+ in the spec for a single request.
162
+ :type _host_index: int, optional
163
+ :return: Returns the result object.
164
+ """ # noqa: E501
165
+
166
+ _param = self._apps_geofences_api_bulk_create_geofences_serialize(
167
+ bulk_geofence_request=bulk_geofence_request,
168
+ _request_auth=_request_auth,
169
+ _content_type=_content_type,
170
+ _headers=_headers,
171
+ _host_index=_host_index
172
+ )
173
+
174
+ _response_types_map: Dict[str, Optional[str]] = {
175
+ '201': "Dict[str, object]",
176
+ '400': "Dict[str, object]",
177
+ '403': "Dict[str, object]",
178
+ }
179
+ response_data = await self.api_client.call_api(
180
+ *_param,
181
+ _request_timeout=_request_timeout
182
+ )
183
+ await response_data.read()
184
+ return self.api_client.response_deserialize(
185
+ response_data=response_data,
186
+ response_types_map=_response_types_map,
187
+ )
188
+
189
+
190
+ @validate_call
191
+ async def apps_geofences_api_bulk_create_geofences_without_preload_content(
192
+ self,
193
+ bulk_geofence_request: BulkGeofenceRequest,
194
+ _request_timeout: Union[
195
+ None,
196
+ Annotated[StrictFloat, Field(gt=0)],
197
+ Tuple[
198
+ Annotated[StrictFloat, Field(gt=0)],
199
+ Annotated[StrictFloat, Field(gt=0)]
200
+ ]
201
+ ] = None,
202
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
203
+ _content_type: Optional[StrictStr] = None,
204
+ _headers: Optional[Dict[StrictStr, Any]] = None,
205
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
206
+ ) -> RESTResponseType:
207
+ """Bulk Create Geofences
208
+
209
+ Bulk create multiple geofences. This endpoint allows users with the BATCH_OPERATIONS feature to create multiple geofences in a single request. Maximum 100 geofences per request.
210
+
211
+ :param bulk_geofence_request: (required)
212
+ :type bulk_geofence_request: BulkGeofenceRequest
213
+ :param _request_timeout: timeout setting for this request. If one
214
+ number provided, it will be total request
215
+ timeout. It can also be a pair (tuple) of
216
+ (connection, read) timeouts.
217
+ :type _request_timeout: int, tuple(int, int), optional
218
+ :param _request_auth: set to override the auth_settings for an a single
219
+ request; this effectively ignores the
220
+ authentication in the spec for a single request.
221
+ :type _request_auth: dict, optional
222
+ :param _content_type: force content-type for the request.
223
+ :type _content_type: str, Optional
224
+ :param _headers: set to override the headers for a single
225
+ request; this effectively ignores the headers
226
+ in the spec for a single request.
227
+ :type _headers: dict, optional
228
+ :param _host_index: set to override the host_index for a single
229
+ request; this effectively ignores the host_index
230
+ in the spec for a single request.
231
+ :type _host_index: int, optional
232
+ :return: Returns the result object.
233
+ """ # noqa: E501
234
+
235
+ _param = self._apps_geofences_api_bulk_create_geofences_serialize(
236
+ bulk_geofence_request=bulk_geofence_request,
237
+ _request_auth=_request_auth,
238
+ _content_type=_content_type,
239
+ _headers=_headers,
240
+ _host_index=_host_index
241
+ )
242
+
243
+ _response_types_map: Dict[str, Optional[str]] = {
244
+ '201': "Dict[str, object]",
245
+ '400': "Dict[str, object]",
246
+ '403': "Dict[str, object]",
247
+ }
248
+ response_data = await self.api_client.call_api(
249
+ *_param,
250
+ _request_timeout=_request_timeout
251
+ )
252
+ return response_data.response
253
+
254
+
255
+ def _apps_geofences_api_bulk_create_geofences_serialize(
256
+ self,
257
+ bulk_geofence_request,
258
+ _request_auth,
259
+ _content_type,
260
+ _headers,
261
+ _host_index,
262
+ ) -> RequestSerialized:
263
+
264
+ _host = None
265
+
266
+ _collection_formats: Dict[str, str] = {
267
+ }
268
+
269
+ _path_params: Dict[str, str] = {}
270
+ _query_params: List[Tuple[str, str]] = []
271
+ _header_params: Dict[str, Optional[str]] = _headers or {}
272
+ _form_params: List[Tuple[str, str]] = []
273
+ _files: Dict[
274
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
275
+ ] = {}
276
+ _body_params: Optional[bytes] = None
277
+
278
+ # process the path parameters
279
+ # process the query parameters
280
+ # process the header parameters
281
+ # process the form parameters
282
+ # process the body parameter
283
+ if bulk_geofence_request is not None:
284
+ _body_params = bulk_geofence_request
285
+
286
+
287
+ # set the HTTP header `Accept`
288
+ if 'Accept' not in _header_params:
289
+ _header_params['Accept'] = self.api_client.select_header_accept(
290
+ [
291
+ 'application/json'
292
+ ]
293
+ )
294
+
295
+ # set the HTTP header `Content-Type`
296
+ if _content_type:
297
+ _header_params['Content-Type'] = _content_type
298
+ else:
299
+ _default_content_type = (
300
+ self.api_client.select_header_content_type(
301
+ [
302
+ 'application/json'
303
+ ]
304
+ )
305
+ )
306
+ if _default_content_type is not None:
307
+ _header_params['Content-Type'] = _default_content_type
308
+
309
+ # authentication setting
310
+ _auth_settings: List[str] = [
311
+ 'APIKeyBearer',
312
+ 'JWTBearer'
313
+ ]
314
+
315
+ return self.api_client.param_serialize(
316
+ method='POST',
317
+ resource_path='/api/v1/geofences/bulk',
318
+ path_params=_path_params,
319
+ query_params=_query_params,
320
+ header_params=_header_params,
321
+ body=_body_params,
322
+ post_params=_form_params,
323
+ files=_files,
324
+ auth_settings=_auth_settings,
325
+ collection_formats=_collection_formats,
326
+ _host=_host,
327
+ _request_auth=_request_auth
328
+ )
329
+
330
+
331
+
332
+
333
+ @validate_call
334
+ async def apps_geofences_api_create_geofence(
335
+ self,
336
+ create_geofence_request: CreateGeofenceRequest,
337
+ _request_timeout: Union[
338
+ None,
339
+ Annotated[StrictFloat, Field(gt=0)],
340
+ Tuple[
341
+ Annotated[StrictFloat, Field(gt=0)],
342
+ Annotated[StrictFloat, Field(gt=0)]
343
+ ]
344
+ ] = None,
345
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
346
+ _content_type: Optional[StrictStr] = None,
347
+ _headers: Optional[Dict[StrictStr, Any]] = None,
348
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
349
+ ) -> GeofenceResponse:
350
+ """Create Geofence
351
+
352
+ Create new polygon geofence.
353
+
354
+ :param create_geofence_request: (required)
355
+ :type create_geofence_request: CreateGeofenceRequest
356
+ :param _request_timeout: timeout setting for this request. If one
357
+ number provided, it will be total request
358
+ timeout. It can also be a pair (tuple) of
359
+ (connection, read) timeouts.
360
+ :type _request_timeout: int, tuple(int, int), optional
361
+ :param _request_auth: set to override the auth_settings for an a single
362
+ request; this effectively ignores the
363
+ authentication in the spec for a single request.
364
+ :type _request_auth: dict, optional
365
+ :param _content_type: force content-type for the request.
366
+ :type _content_type: str, Optional
367
+ :param _headers: set to override the headers for a single
368
+ request; this effectively ignores the headers
369
+ in the spec for a single request.
370
+ :type _headers: dict, optional
371
+ :param _host_index: set to override the host_index for a single
372
+ request; this effectively ignores the host_index
373
+ in the spec for a single request.
374
+ :type _host_index: int, optional
375
+ :return: Returns the result object.
376
+ """ # noqa: E501
377
+
378
+ _param = self._apps_geofences_api_create_geofence_serialize(
379
+ create_geofence_request=create_geofence_request,
380
+ _request_auth=_request_auth,
381
+ _content_type=_content_type,
382
+ _headers=_headers,
383
+ _host_index=_host_index
384
+ )
385
+
386
+ _response_types_map: Dict[str, Optional[str]] = {
387
+ '201': "GeofenceResponse",
388
+ '400': "ErrorResponse",
389
+ '401': "ErrorResponse",
390
+ '429': "RateLimitResponse",
391
+ '500': "ErrorResponse",
392
+ '501': "ErrorResponse",
393
+ '502': "ErrorResponse",
394
+ '503': "ErrorResponse",
395
+ '504': "ErrorResponse",
396
+ }
397
+ response_data = await self.api_client.call_api(
398
+ *_param,
399
+ _request_timeout=_request_timeout
400
+ )
401
+ await response_data.read()
402
+ return self.api_client.response_deserialize(
403
+ response_data=response_data,
404
+ response_types_map=_response_types_map,
405
+ ).data
406
+
407
+
408
+ @validate_call
409
+ async def apps_geofences_api_create_geofence_with_http_info(
410
+ self,
411
+ create_geofence_request: CreateGeofenceRequest,
412
+ _request_timeout: Union[
413
+ None,
414
+ Annotated[StrictFloat, Field(gt=0)],
415
+ Tuple[
416
+ Annotated[StrictFloat, Field(gt=0)],
417
+ Annotated[StrictFloat, Field(gt=0)]
418
+ ]
419
+ ] = None,
420
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
421
+ _content_type: Optional[StrictStr] = None,
422
+ _headers: Optional[Dict[StrictStr, Any]] = None,
423
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
424
+ ) -> ApiResponse[GeofenceResponse]:
425
+ """Create Geofence
426
+
427
+ Create new polygon geofence.
428
+
429
+ :param create_geofence_request: (required)
430
+ :type create_geofence_request: CreateGeofenceRequest
431
+ :param _request_timeout: timeout setting for this request. If one
432
+ number provided, it will be total request
433
+ timeout. It can also be a pair (tuple) of
434
+ (connection, read) timeouts.
435
+ :type _request_timeout: int, tuple(int, int), optional
436
+ :param _request_auth: set to override the auth_settings for an a single
437
+ request; this effectively ignores the
438
+ authentication in the spec for a single request.
439
+ :type _request_auth: dict, optional
440
+ :param _content_type: force content-type for the request.
441
+ :type _content_type: str, Optional
442
+ :param _headers: set to override the headers for a single
443
+ request; this effectively ignores the headers
444
+ in the spec for a single request.
445
+ :type _headers: dict, optional
446
+ :param _host_index: set to override the host_index for a single
447
+ request; this effectively ignores the host_index
448
+ in the spec for a single request.
449
+ :type _host_index: int, optional
450
+ :return: Returns the result object.
451
+ """ # noqa: E501
452
+
453
+ _param = self._apps_geofences_api_create_geofence_serialize(
454
+ create_geofence_request=create_geofence_request,
455
+ _request_auth=_request_auth,
456
+ _content_type=_content_type,
457
+ _headers=_headers,
458
+ _host_index=_host_index
459
+ )
460
+
461
+ _response_types_map: Dict[str, Optional[str]] = {
462
+ '201': "GeofenceResponse",
463
+ '400': "ErrorResponse",
464
+ '401': "ErrorResponse",
465
+ '429': "RateLimitResponse",
466
+ '500': "ErrorResponse",
467
+ '501': "ErrorResponse",
468
+ '502': "ErrorResponse",
469
+ '503': "ErrorResponse",
470
+ '504': "ErrorResponse",
471
+ }
472
+ response_data = await self.api_client.call_api(
473
+ *_param,
474
+ _request_timeout=_request_timeout
475
+ )
476
+ await response_data.read()
477
+ return self.api_client.response_deserialize(
478
+ response_data=response_data,
479
+ response_types_map=_response_types_map,
480
+ )
481
+
482
+
483
+ @validate_call
484
+ async def apps_geofences_api_create_geofence_without_preload_content(
485
+ self,
486
+ create_geofence_request: CreateGeofenceRequest,
487
+ _request_timeout: Union[
488
+ None,
489
+ Annotated[StrictFloat, Field(gt=0)],
490
+ Tuple[
491
+ Annotated[StrictFloat, Field(gt=0)],
492
+ Annotated[StrictFloat, Field(gt=0)]
493
+ ]
494
+ ] = None,
495
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
496
+ _content_type: Optional[StrictStr] = None,
497
+ _headers: Optional[Dict[StrictStr, Any]] = None,
498
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
499
+ ) -> RESTResponseType:
500
+ """Create Geofence
501
+
502
+ Create new polygon geofence.
503
+
504
+ :param create_geofence_request: (required)
505
+ :type create_geofence_request: CreateGeofenceRequest
506
+ :param _request_timeout: timeout setting for this request. If one
507
+ number provided, it will be total request
508
+ timeout. It can also be a pair (tuple) of
509
+ (connection, read) timeouts.
510
+ :type _request_timeout: int, tuple(int, int), optional
511
+ :param _request_auth: set to override the auth_settings for an a single
512
+ request; this effectively ignores the
513
+ authentication in the spec for a single request.
514
+ :type _request_auth: dict, optional
515
+ :param _content_type: force content-type for the request.
516
+ :type _content_type: str, Optional
517
+ :param _headers: set to override the headers for a single
518
+ request; this effectively ignores the headers
519
+ in the spec for a single request.
520
+ :type _headers: dict, optional
521
+ :param _host_index: set to override the host_index for a single
522
+ request; this effectively ignores the host_index
523
+ in the spec for a single request.
524
+ :type _host_index: int, optional
525
+ :return: Returns the result object.
526
+ """ # noqa: E501
527
+
528
+ _param = self._apps_geofences_api_create_geofence_serialize(
529
+ create_geofence_request=create_geofence_request,
530
+ _request_auth=_request_auth,
531
+ _content_type=_content_type,
532
+ _headers=_headers,
533
+ _host_index=_host_index
534
+ )
535
+
536
+ _response_types_map: Dict[str, Optional[str]] = {
537
+ '201': "GeofenceResponse",
538
+ '400': "ErrorResponse",
539
+ '401': "ErrorResponse",
540
+ '429': "RateLimitResponse",
541
+ '500': "ErrorResponse",
542
+ '501': "ErrorResponse",
543
+ '502': "ErrorResponse",
544
+ '503': "ErrorResponse",
545
+ '504': "ErrorResponse",
546
+ }
547
+ response_data = await self.api_client.call_api(
548
+ *_param,
549
+ _request_timeout=_request_timeout
550
+ )
551
+ return response_data.response
552
+
553
+
554
+ def _apps_geofences_api_create_geofence_serialize(
555
+ self,
556
+ create_geofence_request,
557
+ _request_auth,
558
+ _content_type,
559
+ _headers,
560
+ _host_index,
561
+ ) -> RequestSerialized:
562
+
563
+ _host = None
564
+
565
+ _collection_formats: Dict[str, str] = {
566
+ }
567
+
568
+ _path_params: Dict[str, str] = {}
569
+ _query_params: List[Tuple[str, str]] = []
570
+ _header_params: Dict[str, Optional[str]] = _headers or {}
571
+ _form_params: List[Tuple[str, str]] = []
572
+ _files: Dict[
573
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
574
+ ] = {}
575
+ _body_params: Optional[bytes] = None
576
+
577
+ # process the path parameters
578
+ # process the query parameters
579
+ # process the header parameters
580
+ # process the form parameters
581
+ # process the body parameter
582
+ if create_geofence_request is not None:
583
+ _body_params = create_geofence_request
584
+
585
+
586
+ # set the HTTP header `Accept`
587
+ if 'Accept' not in _header_params:
588
+ _header_params['Accept'] = self.api_client.select_header_accept(
589
+ [
590
+ 'application/json'
591
+ ]
592
+ )
593
+
594
+ # set the HTTP header `Content-Type`
595
+ if _content_type:
596
+ _header_params['Content-Type'] = _content_type
597
+ else:
598
+ _default_content_type = (
599
+ self.api_client.select_header_content_type(
600
+ [
601
+ 'application/json'
602
+ ]
603
+ )
604
+ )
605
+ if _default_content_type is not None:
606
+ _header_params['Content-Type'] = _default_content_type
607
+
608
+ # authentication setting
609
+ _auth_settings: List[str] = [
610
+ 'APIKeyBearer',
611
+ 'JWTBearer'
612
+ ]
613
+
614
+ return self.api_client.param_serialize(
615
+ method='POST',
616
+ resource_path='/api/v1/geofences/',
617
+ path_params=_path_params,
618
+ query_params=_query_params,
619
+ header_params=_header_params,
620
+ body=_body_params,
621
+ post_params=_form_params,
622
+ files=_files,
623
+ auth_settings=_auth_settings,
624
+ collection_formats=_collection_formats,
625
+ _host=_host,
626
+ _request_auth=_request_auth
627
+ )
628
+
629
+
630
+
631
+
632
+ @validate_call
633
+ async def apps_geofences_api_delete_geofence(
634
+ self,
635
+ geofence_id: StrictStr,
636
+ _request_timeout: Union[
637
+ None,
638
+ Annotated[StrictFloat, Field(gt=0)],
639
+ Tuple[
640
+ Annotated[StrictFloat, Field(gt=0)],
641
+ Annotated[StrictFloat, Field(gt=0)]
642
+ ]
643
+ ] = None,
644
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
645
+ _content_type: Optional[StrictStr] = None,
646
+ _headers: Optional[Dict[StrictStr, Any]] = None,
647
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
648
+ ) -> Dict[str, object]:
649
+ """Delete Geofence
650
+
651
+ Delete (deactivate) geofence.
652
+
653
+ :param geofence_id: (required)
654
+ :type geofence_id: str
655
+ :param _request_timeout: timeout setting for this request. If one
656
+ number provided, it will be total request
657
+ timeout. It can also be a pair (tuple) of
658
+ (connection, read) timeouts.
659
+ :type _request_timeout: int, tuple(int, int), optional
660
+ :param _request_auth: set to override the auth_settings for an a single
661
+ request; this effectively ignores the
662
+ authentication in the spec for a single request.
663
+ :type _request_auth: dict, optional
664
+ :param _content_type: force content-type for the request.
665
+ :type _content_type: str, Optional
666
+ :param _headers: set to override the headers for a single
667
+ request; this effectively ignores the headers
668
+ in the spec for a single request.
669
+ :type _headers: dict, optional
670
+ :param _host_index: set to override the host_index for a single
671
+ request; this effectively ignores the host_index
672
+ in the spec for a single request.
673
+ :type _host_index: int, optional
674
+ :return: Returns the result object.
675
+ """ # noqa: E501
676
+
677
+ _param = self._apps_geofences_api_delete_geofence_serialize(
678
+ geofence_id=geofence_id,
679
+ _request_auth=_request_auth,
680
+ _content_type=_content_type,
681
+ _headers=_headers,
682
+ _host_index=_host_index
683
+ )
684
+
685
+ _response_types_map: Dict[str, Optional[str]] = {
686
+ '200': "Dict[str, object]",
687
+ '401': "ErrorResponse",
688
+ '404': "ErrorResponse",
689
+ '500': "ErrorResponse",
690
+ '501': "ErrorResponse",
691
+ '502': "ErrorResponse",
692
+ '503': "ErrorResponse",
693
+ '504': "ErrorResponse",
694
+ }
695
+ response_data = await self.api_client.call_api(
696
+ *_param,
697
+ _request_timeout=_request_timeout
698
+ )
699
+ await response_data.read()
700
+ return self.api_client.response_deserialize(
701
+ response_data=response_data,
702
+ response_types_map=_response_types_map,
703
+ ).data
704
+
705
+
706
+ @validate_call
707
+ async def apps_geofences_api_delete_geofence_with_http_info(
708
+ self,
709
+ geofence_id: StrictStr,
710
+ _request_timeout: Union[
711
+ None,
712
+ Annotated[StrictFloat, Field(gt=0)],
713
+ Tuple[
714
+ Annotated[StrictFloat, Field(gt=0)],
715
+ Annotated[StrictFloat, Field(gt=0)]
716
+ ]
717
+ ] = None,
718
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
719
+ _content_type: Optional[StrictStr] = None,
720
+ _headers: Optional[Dict[StrictStr, Any]] = None,
721
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
722
+ ) -> ApiResponse[Dict[str, object]]:
723
+ """Delete Geofence
724
+
725
+ Delete (deactivate) geofence.
726
+
727
+ :param geofence_id: (required)
728
+ :type geofence_id: str
729
+ :param _request_timeout: timeout setting for this request. If one
730
+ number provided, it will be total request
731
+ timeout. It can also be a pair (tuple) of
732
+ (connection, read) timeouts.
733
+ :type _request_timeout: int, tuple(int, int), optional
734
+ :param _request_auth: set to override the auth_settings for an a single
735
+ request; this effectively ignores the
736
+ authentication in the spec for a single request.
737
+ :type _request_auth: dict, optional
738
+ :param _content_type: force content-type for the request.
739
+ :type _content_type: str, Optional
740
+ :param _headers: set to override the headers for a single
741
+ request; this effectively ignores the headers
742
+ in the spec for a single request.
743
+ :type _headers: dict, optional
744
+ :param _host_index: set to override the host_index for a single
745
+ request; this effectively ignores the host_index
746
+ in the spec for a single request.
747
+ :type _host_index: int, optional
748
+ :return: Returns the result object.
749
+ """ # noqa: E501
750
+
751
+ _param = self._apps_geofences_api_delete_geofence_serialize(
752
+ geofence_id=geofence_id,
753
+ _request_auth=_request_auth,
754
+ _content_type=_content_type,
755
+ _headers=_headers,
756
+ _host_index=_host_index
757
+ )
758
+
759
+ _response_types_map: Dict[str, Optional[str]] = {
760
+ '200': "Dict[str, object]",
761
+ '401': "ErrorResponse",
762
+ '404': "ErrorResponse",
763
+ '500': "ErrorResponse",
764
+ '501': "ErrorResponse",
765
+ '502': "ErrorResponse",
766
+ '503': "ErrorResponse",
767
+ '504': "ErrorResponse",
768
+ }
769
+ response_data = await self.api_client.call_api(
770
+ *_param,
771
+ _request_timeout=_request_timeout
772
+ )
773
+ await response_data.read()
774
+ return self.api_client.response_deserialize(
775
+ response_data=response_data,
776
+ response_types_map=_response_types_map,
777
+ )
778
+
779
+
780
+ @validate_call
781
+ async def apps_geofences_api_delete_geofence_without_preload_content(
782
+ self,
783
+ geofence_id: StrictStr,
784
+ _request_timeout: Union[
785
+ None,
786
+ Annotated[StrictFloat, Field(gt=0)],
787
+ Tuple[
788
+ Annotated[StrictFloat, Field(gt=0)],
789
+ Annotated[StrictFloat, Field(gt=0)]
790
+ ]
791
+ ] = None,
792
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
793
+ _content_type: Optional[StrictStr] = None,
794
+ _headers: Optional[Dict[StrictStr, Any]] = None,
795
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
796
+ ) -> RESTResponseType:
797
+ """Delete Geofence
798
+
799
+ Delete (deactivate) geofence.
800
+
801
+ :param geofence_id: (required)
802
+ :type geofence_id: str
803
+ :param _request_timeout: timeout setting for this request. If one
804
+ number provided, it will be total request
805
+ timeout. It can also be a pair (tuple) of
806
+ (connection, read) timeouts.
807
+ :type _request_timeout: int, tuple(int, int), optional
808
+ :param _request_auth: set to override the auth_settings for an a single
809
+ request; this effectively ignores the
810
+ authentication in the spec for a single request.
811
+ :type _request_auth: dict, optional
812
+ :param _content_type: force content-type for the request.
813
+ :type _content_type: str, Optional
814
+ :param _headers: set to override the headers for a single
815
+ request; this effectively ignores the headers
816
+ in the spec for a single request.
817
+ :type _headers: dict, optional
818
+ :param _host_index: set to override the host_index for a single
819
+ request; this effectively ignores the host_index
820
+ in the spec for a single request.
821
+ :type _host_index: int, optional
822
+ :return: Returns the result object.
823
+ """ # noqa: E501
824
+
825
+ _param = self._apps_geofences_api_delete_geofence_serialize(
826
+ geofence_id=geofence_id,
827
+ _request_auth=_request_auth,
828
+ _content_type=_content_type,
829
+ _headers=_headers,
830
+ _host_index=_host_index
831
+ )
832
+
833
+ _response_types_map: Dict[str, Optional[str]] = {
834
+ '200': "Dict[str, object]",
835
+ '401': "ErrorResponse",
836
+ '404': "ErrorResponse",
837
+ '500': "ErrorResponse",
838
+ '501': "ErrorResponse",
839
+ '502': "ErrorResponse",
840
+ '503': "ErrorResponse",
841
+ '504': "ErrorResponse",
842
+ }
843
+ response_data = await self.api_client.call_api(
844
+ *_param,
845
+ _request_timeout=_request_timeout
846
+ )
847
+ return response_data.response
848
+
849
+
850
+ def _apps_geofences_api_delete_geofence_serialize(
851
+ self,
852
+ geofence_id,
853
+ _request_auth,
854
+ _content_type,
855
+ _headers,
856
+ _host_index,
857
+ ) -> RequestSerialized:
858
+
859
+ _host = None
860
+
861
+ _collection_formats: Dict[str, str] = {
862
+ }
863
+
864
+ _path_params: Dict[str, str] = {}
865
+ _query_params: List[Tuple[str, str]] = []
866
+ _header_params: Dict[str, Optional[str]] = _headers or {}
867
+ _form_params: List[Tuple[str, str]] = []
868
+ _files: Dict[
869
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
870
+ ] = {}
871
+ _body_params: Optional[bytes] = None
872
+
873
+ # process the path parameters
874
+ if geofence_id is not None:
875
+ _path_params['geofence_id'] = geofence_id
876
+ # process the query parameters
877
+ # process the header parameters
878
+ # process the form parameters
879
+ # process the body parameter
880
+
881
+
882
+ # set the HTTP header `Accept`
883
+ if 'Accept' not in _header_params:
884
+ _header_params['Accept'] = self.api_client.select_header_accept(
885
+ [
886
+ 'application/json'
887
+ ]
888
+ )
889
+
890
+
891
+ # authentication setting
892
+ _auth_settings: List[str] = [
893
+ 'APIKeyBearer',
894
+ 'JWTBearer'
895
+ ]
896
+
897
+ return self.api_client.param_serialize(
898
+ method='DELETE',
899
+ resource_path='/api/v1/geofences/{geofence_id}',
900
+ path_params=_path_params,
901
+ query_params=_query_params,
902
+ header_params=_header_params,
903
+ body=_body_params,
904
+ post_params=_form_params,
905
+ files=_files,
906
+ auth_settings=_auth_settings,
907
+ collection_formats=_collection_formats,
908
+ _host=_host,
909
+ _request_auth=_request_auth
910
+ )
911
+
912
+
913
+
914
+
915
+ @validate_call
916
+ async def apps_geofences_api_geofence_health_check(
917
+ self,
918
+ _request_timeout: Union[
919
+ None,
920
+ Annotated[StrictFloat, Field(gt=0)],
921
+ Tuple[
922
+ Annotated[StrictFloat, Field(gt=0)],
923
+ Annotated[StrictFloat, Field(gt=0)]
924
+ ]
925
+ ] = None,
926
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
927
+ _content_type: Optional[StrictStr] = None,
928
+ _headers: Optional[Dict[StrictStr, Any]] = None,
929
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
930
+ ) -> Dict[str, object]:
931
+ """Geofence Health Check
932
+
933
+ Health check for geofence service.
934
+
935
+ :param _request_timeout: timeout setting for this request. If one
936
+ number provided, it will be total request
937
+ timeout. It can also be a pair (tuple) of
938
+ (connection, read) timeouts.
939
+ :type _request_timeout: int, tuple(int, int), optional
940
+ :param _request_auth: set to override the auth_settings for an a single
941
+ request; this effectively ignores the
942
+ authentication in the spec for a single request.
943
+ :type _request_auth: dict, optional
944
+ :param _content_type: force content-type for the request.
945
+ :type _content_type: str, Optional
946
+ :param _headers: set to override the headers for a single
947
+ request; this effectively ignores the headers
948
+ in the spec for a single request.
949
+ :type _headers: dict, optional
950
+ :param _host_index: set to override the host_index for a single
951
+ request; this effectively ignores the host_index
952
+ in the spec for a single request.
953
+ :type _host_index: int, optional
954
+ :return: Returns the result object.
955
+ """ # noqa: E501
956
+
957
+ _param = self._apps_geofences_api_geofence_health_check_serialize(
958
+ _request_auth=_request_auth,
959
+ _content_type=_content_type,
960
+ _headers=_headers,
961
+ _host_index=_host_index
962
+ )
963
+
964
+ _response_types_map: Dict[str, Optional[str]] = {
965
+ '200': "Dict[str, object]",
966
+ }
967
+ response_data = await self.api_client.call_api(
968
+ *_param,
969
+ _request_timeout=_request_timeout
970
+ )
971
+ await response_data.read()
972
+ return self.api_client.response_deserialize(
973
+ response_data=response_data,
974
+ response_types_map=_response_types_map,
975
+ ).data
976
+
977
+
978
+ @validate_call
979
+ async def apps_geofences_api_geofence_health_check_with_http_info(
980
+ self,
981
+ _request_timeout: Union[
982
+ None,
983
+ Annotated[StrictFloat, Field(gt=0)],
984
+ Tuple[
985
+ Annotated[StrictFloat, Field(gt=0)],
986
+ Annotated[StrictFloat, Field(gt=0)]
987
+ ]
988
+ ] = None,
989
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
990
+ _content_type: Optional[StrictStr] = None,
991
+ _headers: Optional[Dict[StrictStr, Any]] = None,
992
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
993
+ ) -> ApiResponse[Dict[str, object]]:
994
+ """Geofence Health Check
995
+
996
+ Health check for geofence service.
997
+
998
+ :param _request_timeout: timeout setting for this request. If one
999
+ number provided, it will be total request
1000
+ timeout. It can also be a pair (tuple) of
1001
+ (connection, read) timeouts.
1002
+ :type _request_timeout: int, tuple(int, int), optional
1003
+ :param _request_auth: set to override the auth_settings for an a single
1004
+ request; this effectively ignores the
1005
+ authentication in the spec for a single request.
1006
+ :type _request_auth: dict, optional
1007
+ :param _content_type: force content-type for the request.
1008
+ :type _content_type: str, Optional
1009
+ :param _headers: set to override the headers for a single
1010
+ request; this effectively ignores the headers
1011
+ in the spec for a single request.
1012
+ :type _headers: dict, optional
1013
+ :param _host_index: set to override the host_index for a single
1014
+ request; this effectively ignores the host_index
1015
+ in the spec for a single request.
1016
+ :type _host_index: int, optional
1017
+ :return: Returns the result object.
1018
+ """ # noqa: E501
1019
+
1020
+ _param = self._apps_geofences_api_geofence_health_check_serialize(
1021
+ _request_auth=_request_auth,
1022
+ _content_type=_content_type,
1023
+ _headers=_headers,
1024
+ _host_index=_host_index
1025
+ )
1026
+
1027
+ _response_types_map: Dict[str, Optional[str]] = {
1028
+ '200': "Dict[str, object]",
1029
+ }
1030
+ response_data = await self.api_client.call_api(
1031
+ *_param,
1032
+ _request_timeout=_request_timeout
1033
+ )
1034
+ await response_data.read()
1035
+ return self.api_client.response_deserialize(
1036
+ response_data=response_data,
1037
+ response_types_map=_response_types_map,
1038
+ )
1039
+
1040
+
1041
+ @validate_call
1042
+ async def apps_geofences_api_geofence_health_check_without_preload_content(
1043
+ self,
1044
+ _request_timeout: Union[
1045
+ None,
1046
+ Annotated[StrictFloat, Field(gt=0)],
1047
+ Tuple[
1048
+ Annotated[StrictFloat, Field(gt=0)],
1049
+ Annotated[StrictFloat, Field(gt=0)]
1050
+ ]
1051
+ ] = None,
1052
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1053
+ _content_type: Optional[StrictStr] = None,
1054
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1055
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1056
+ ) -> RESTResponseType:
1057
+ """Geofence Health Check
1058
+
1059
+ Health check for geofence service.
1060
+
1061
+ :param _request_timeout: timeout setting for this request. If one
1062
+ number provided, it will be total request
1063
+ timeout. It can also be a pair (tuple) of
1064
+ (connection, read) timeouts.
1065
+ :type _request_timeout: int, tuple(int, int), optional
1066
+ :param _request_auth: set to override the auth_settings for an a single
1067
+ request; this effectively ignores the
1068
+ authentication in the spec for a single request.
1069
+ :type _request_auth: dict, optional
1070
+ :param _content_type: force content-type for the request.
1071
+ :type _content_type: str, Optional
1072
+ :param _headers: set to override the headers for a single
1073
+ request; this effectively ignores the headers
1074
+ in the spec for a single request.
1075
+ :type _headers: dict, optional
1076
+ :param _host_index: set to override the host_index for a single
1077
+ request; this effectively ignores the host_index
1078
+ in the spec for a single request.
1079
+ :type _host_index: int, optional
1080
+ :return: Returns the result object.
1081
+ """ # noqa: E501
1082
+
1083
+ _param = self._apps_geofences_api_geofence_health_check_serialize(
1084
+ _request_auth=_request_auth,
1085
+ _content_type=_content_type,
1086
+ _headers=_headers,
1087
+ _host_index=_host_index
1088
+ )
1089
+
1090
+ _response_types_map: Dict[str, Optional[str]] = {
1091
+ '200': "Dict[str, object]",
1092
+ }
1093
+ response_data = await self.api_client.call_api(
1094
+ *_param,
1095
+ _request_timeout=_request_timeout
1096
+ )
1097
+ return response_data.response
1098
+
1099
+
1100
+ def _apps_geofences_api_geofence_health_check_serialize(
1101
+ self,
1102
+ _request_auth,
1103
+ _content_type,
1104
+ _headers,
1105
+ _host_index,
1106
+ ) -> RequestSerialized:
1107
+
1108
+ _host = None
1109
+
1110
+ _collection_formats: Dict[str, str] = {
1111
+ }
1112
+
1113
+ _path_params: Dict[str, str] = {}
1114
+ _query_params: List[Tuple[str, str]] = []
1115
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1116
+ _form_params: List[Tuple[str, str]] = []
1117
+ _files: Dict[
1118
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1119
+ ] = {}
1120
+ _body_params: Optional[bytes] = None
1121
+
1122
+ # process the path parameters
1123
+ # process the query parameters
1124
+ # process the header parameters
1125
+ # process the form parameters
1126
+ # process the body parameter
1127
+
1128
+
1129
+ # set the HTTP header `Accept`
1130
+ if 'Accept' not in _header_params:
1131
+ _header_params['Accept'] = self.api_client.select_header_accept(
1132
+ [
1133
+ 'application/json'
1134
+ ]
1135
+ )
1136
+
1137
+
1138
+ # authentication setting
1139
+ _auth_settings: List[str] = [
1140
+ ]
1141
+
1142
+ return self.api_client.param_serialize(
1143
+ method='GET',
1144
+ resource_path='/api/v1/geofences/health',
1145
+ path_params=_path_params,
1146
+ query_params=_query_params,
1147
+ header_params=_header_params,
1148
+ body=_body_params,
1149
+ post_params=_form_params,
1150
+ files=_files,
1151
+ auth_settings=_auth_settings,
1152
+ collection_formats=_collection_formats,
1153
+ _host=_host,
1154
+ _request_auth=_request_auth
1155
+ )
1156
+
1157
+
1158
+
1159
+
1160
+ @validate_call
1161
+ async def apps_geofences_api_get_active_geofences_summary(
1162
+ self,
1163
+ _request_timeout: Union[
1164
+ None,
1165
+ Annotated[StrictFloat, Field(gt=0)],
1166
+ Tuple[
1167
+ Annotated[StrictFloat, Field(gt=0)],
1168
+ Annotated[StrictFloat, Field(gt=0)]
1169
+ ]
1170
+ ] = None,
1171
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1172
+ _content_type: Optional[StrictStr] = None,
1173
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1174
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1175
+ ) -> Dict[str, object]:
1176
+ """Get Active Geofences Summary
1177
+
1178
+ Get summary of active geofences with event counts for dashboard map widget.
1179
+
1180
+ :param _request_timeout: timeout setting for this request. If one
1181
+ number provided, it will be total request
1182
+ timeout. It can also be a pair (tuple) of
1183
+ (connection, read) timeouts.
1184
+ :type _request_timeout: int, tuple(int, int), optional
1185
+ :param _request_auth: set to override the auth_settings for an a single
1186
+ request; this effectively ignores the
1187
+ authentication in the spec for a single request.
1188
+ :type _request_auth: dict, optional
1189
+ :param _content_type: force content-type for the request.
1190
+ :type _content_type: str, Optional
1191
+ :param _headers: set to override the headers for a single
1192
+ request; this effectively ignores the headers
1193
+ in the spec for a single request.
1194
+ :type _headers: dict, optional
1195
+ :param _host_index: set to override the host_index for a single
1196
+ request; this effectively ignores the host_index
1197
+ in the spec for a single request.
1198
+ :type _host_index: int, optional
1199
+ :return: Returns the result object.
1200
+ """ # noqa: E501
1201
+
1202
+ _param = self._apps_geofences_api_get_active_geofences_summary_serialize(
1203
+ _request_auth=_request_auth,
1204
+ _content_type=_content_type,
1205
+ _headers=_headers,
1206
+ _host_index=_host_index
1207
+ )
1208
+
1209
+ _response_types_map: Dict[str, Optional[str]] = {
1210
+ '200': "Dict[str, object]",
1211
+ }
1212
+ response_data = await self.api_client.call_api(
1213
+ *_param,
1214
+ _request_timeout=_request_timeout
1215
+ )
1216
+ await response_data.read()
1217
+ return self.api_client.response_deserialize(
1218
+ response_data=response_data,
1219
+ response_types_map=_response_types_map,
1220
+ ).data
1221
+
1222
+
1223
+ @validate_call
1224
+ async def apps_geofences_api_get_active_geofences_summary_with_http_info(
1225
+ self,
1226
+ _request_timeout: Union[
1227
+ None,
1228
+ Annotated[StrictFloat, Field(gt=0)],
1229
+ Tuple[
1230
+ Annotated[StrictFloat, Field(gt=0)],
1231
+ Annotated[StrictFloat, Field(gt=0)]
1232
+ ]
1233
+ ] = None,
1234
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1235
+ _content_type: Optional[StrictStr] = None,
1236
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1237
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1238
+ ) -> ApiResponse[Dict[str, object]]:
1239
+ """Get Active Geofences Summary
1240
+
1241
+ Get summary of active geofences with event counts for dashboard map widget.
1242
+
1243
+ :param _request_timeout: timeout setting for this request. If one
1244
+ number provided, it will be total request
1245
+ timeout. It can also be a pair (tuple) of
1246
+ (connection, read) timeouts.
1247
+ :type _request_timeout: int, tuple(int, int), optional
1248
+ :param _request_auth: set to override the auth_settings for an a single
1249
+ request; this effectively ignores the
1250
+ authentication in the spec for a single request.
1251
+ :type _request_auth: dict, optional
1252
+ :param _content_type: force content-type for the request.
1253
+ :type _content_type: str, Optional
1254
+ :param _headers: set to override the headers for a single
1255
+ request; this effectively ignores the headers
1256
+ in the spec for a single request.
1257
+ :type _headers: dict, optional
1258
+ :param _host_index: set to override the host_index for a single
1259
+ request; this effectively ignores the host_index
1260
+ in the spec for a single request.
1261
+ :type _host_index: int, optional
1262
+ :return: Returns the result object.
1263
+ """ # noqa: E501
1264
+
1265
+ _param = self._apps_geofences_api_get_active_geofences_summary_serialize(
1266
+ _request_auth=_request_auth,
1267
+ _content_type=_content_type,
1268
+ _headers=_headers,
1269
+ _host_index=_host_index
1270
+ )
1271
+
1272
+ _response_types_map: Dict[str, Optional[str]] = {
1273
+ '200': "Dict[str, object]",
1274
+ }
1275
+ response_data = await self.api_client.call_api(
1276
+ *_param,
1277
+ _request_timeout=_request_timeout
1278
+ )
1279
+ await response_data.read()
1280
+ return self.api_client.response_deserialize(
1281
+ response_data=response_data,
1282
+ response_types_map=_response_types_map,
1283
+ )
1284
+
1285
+
1286
+ @validate_call
1287
+ async def apps_geofences_api_get_active_geofences_summary_without_preload_content(
1288
+ self,
1289
+ _request_timeout: Union[
1290
+ None,
1291
+ Annotated[StrictFloat, Field(gt=0)],
1292
+ Tuple[
1293
+ Annotated[StrictFloat, Field(gt=0)],
1294
+ Annotated[StrictFloat, Field(gt=0)]
1295
+ ]
1296
+ ] = None,
1297
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1298
+ _content_type: Optional[StrictStr] = None,
1299
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1300
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1301
+ ) -> RESTResponseType:
1302
+ """Get Active Geofences Summary
1303
+
1304
+ Get summary of active geofences with event counts for dashboard map widget.
1305
+
1306
+ :param _request_timeout: timeout setting for this request. If one
1307
+ number provided, it will be total request
1308
+ timeout. It can also be a pair (tuple) of
1309
+ (connection, read) timeouts.
1310
+ :type _request_timeout: int, tuple(int, int), optional
1311
+ :param _request_auth: set to override the auth_settings for an a single
1312
+ request; this effectively ignores the
1313
+ authentication in the spec for a single request.
1314
+ :type _request_auth: dict, optional
1315
+ :param _content_type: force content-type for the request.
1316
+ :type _content_type: str, Optional
1317
+ :param _headers: set to override the headers for a single
1318
+ request; this effectively ignores the headers
1319
+ in the spec for a single request.
1320
+ :type _headers: dict, optional
1321
+ :param _host_index: set to override the host_index for a single
1322
+ request; this effectively ignores the host_index
1323
+ in the spec for a single request.
1324
+ :type _host_index: int, optional
1325
+ :return: Returns the result object.
1326
+ """ # noqa: E501
1327
+
1328
+ _param = self._apps_geofences_api_get_active_geofences_summary_serialize(
1329
+ _request_auth=_request_auth,
1330
+ _content_type=_content_type,
1331
+ _headers=_headers,
1332
+ _host_index=_host_index
1333
+ )
1334
+
1335
+ _response_types_map: Dict[str, Optional[str]] = {
1336
+ '200': "Dict[str, object]",
1337
+ }
1338
+ response_data = await self.api_client.call_api(
1339
+ *_param,
1340
+ _request_timeout=_request_timeout
1341
+ )
1342
+ return response_data.response
1343
+
1344
+
1345
+ def _apps_geofences_api_get_active_geofences_summary_serialize(
1346
+ self,
1347
+ _request_auth,
1348
+ _content_type,
1349
+ _headers,
1350
+ _host_index,
1351
+ ) -> RequestSerialized:
1352
+
1353
+ _host = None
1354
+
1355
+ _collection_formats: Dict[str, str] = {
1356
+ }
1357
+
1358
+ _path_params: Dict[str, str] = {}
1359
+ _query_params: List[Tuple[str, str]] = []
1360
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1361
+ _form_params: List[Tuple[str, str]] = []
1362
+ _files: Dict[
1363
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1364
+ ] = {}
1365
+ _body_params: Optional[bytes] = None
1366
+
1367
+ # process the path parameters
1368
+ # process the query parameters
1369
+ # process the header parameters
1370
+ # process the form parameters
1371
+ # process the body parameter
1372
+
1373
+
1374
+ # set the HTTP header `Accept`
1375
+ if 'Accept' not in _header_params:
1376
+ _header_params['Accept'] = self.api_client.select_header_accept(
1377
+ [
1378
+ 'application/json'
1379
+ ]
1380
+ )
1381
+
1382
+
1383
+ # authentication setting
1384
+ _auth_settings: List[str] = [
1385
+ 'APIKeyBearer',
1386
+ 'JWTBearer'
1387
+ ]
1388
+
1389
+ return self.api_client.param_serialize(
1390
+ method='GET',
1391
+ resource_path='/api/v1/geofences/active-summary',
1392
+ path_params=_path_params,
1393
+ query_params=_query_params,
1394
+ header_params=_header_params,
1395
+ body=_body_params,
1396
+ post_params=_form_params,
1397
+ files=_files,
1398
+ auth_settings=_auth_settings,
1399
+ collection_formats=_collection_formats,
1400
+ _host=_host,
1401
+ _request_auth=_request_auth
1402
+ )
1403
+
1404
+
1405
+
1406
+
1407
+ @validate_call
1408
+ async def apps_geofences_api_get_geofence(
1409
+ self,
1410
+ geofence_id: StrictStr,
1411
+ _request_timeout: Union[
1412
+ None,
1413
+ Annotated[StrictFloat, Field(gt=0)],
1414
+ Tuple[
1415
+ Annotated[StrictFloat, Field(gt=0)],
1416
+ Annotated[StrictFloat, Field(gt=0)]
1417
+ ]
1418
+ ] = None,
1419
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1420
+ _content_type: Optional[StrictStr] = None,
1421
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1422
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1423
+ ) -> GeofenceResponse:
1424
+ """Get Geofence
1425
+
1426
+ Get a specific geofence by its ID.
1427
+
1428
+ :param geofence_id: (required)
1429
+ :type geofence_id: str
1430
+ :param _request_timeout: timeout setting for this request. If one
1431
+ number provided, it will be total request
1432
+ timeout. It can also be a pair (tuple) of
1433
+ (connection, read) timeouts.
1434
+ :type _request_timeout: int, tuple(int, int), optional
1435
+ :param _request_auth: set to override the auth_settings for an a single
1436
+ request; this effectively ignores the
1437
+ authentication in the spec for a single request.
1438
+ :type _request_auth: dict, optional
1439
+ :param _content_type: force content-type for the request.
1440
+ :type _content_type: str, Optional
1441
+ :param _headers: set to override the headers for a single
1442
+ request; this effectively ignores the headers
1443
+ in the spec for a single request.
1444
+ :type _headers: dict, optional
1445
+ :param _host_index: set to override the host_index for a single
1446
+ request; this effectively ignores the host_index
1447
+ in the spec for a single request.
1448
+ :type _host_index: int, optional
1449
+ :return: Returns the result object.
1450
+ """ # noqa: E501
1451
+
1452
+ _param = self._apps_geofences_api_get_geofence_serialize(
1453
+ geofence_id=geofence_id,
1454
+ _request_auth=_request_auth,
1455
+ _content_type=_content_type,
1456
+ _headers=_headers,
1457
+ _host_index=_host_index
1458
+ )
1459
+
1460
+ _response_types_map: Dict[str, Optional[str]] = {
1461
+ '200': "GeofenceResponse",
1462
+ '401': "ErrorResponse",
1463
+ '404': "ErrorResponse",
1464
+ '500': "ErrorResponse",
1465
+ '501': "ErrorResponse",
1466
+ '502': "ErrorResponse",
1467
+ '503': "ErrorResponse",
1468
+ '504': "ErrorResponse",
1469
+ }
1470
+ response_data = await self.api_client.call_api(
1471
+ *_param,
1472
+ _request_timeout=_request_timeout
1473
+ )
1474
+ await response_data.read()
1475
+ return self.api_client.response_deserialize(
1476
+ response_data=response_data,
1477
+ response_types_map=_response_types_map,
1478
+ ).data
1479
+
1480
+
1481
+ @validate_call
1482
+ async def apps_geofences_api_get_geofence_with_http_info(
1483
+ self,
1484
+ geofence_id: StrictStr,
1485
+ _request_timeout: Union[
1486
+ None,
1487
+ Annotated[StrictFloat, Field(gt=0)],
1488
+ Tuple[
1489
+ Annotated[StrictFloat, Field(gt=0)],
1490
+ Annotated[StrictFloat, Field(gt=0)]
1491
+ ]
1492
+ ] = None,
1493
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1494
+ _content_type: Optional[StrictStr] = None,
1495
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1496
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1497
+ ) -> ApiResponse[GeofenceResponse]:
1498
+ """Get Geofence
1499
+
1500
+ Get a specific geofence by its ID.
1501
+
1502
+ :param geofence_id: (required)
1503
+ :type geofence_id: str
1504
+ :param _request_timeout: timeout setting for this request. If one
1505
+ number provided, it will be total request
1506
+ timeout. It can also be a pair (tuple) of
1507
+ (connection, read) timeouts.
1508
+ :type _request_timeout: int, tuple(int, int), optional
1509
+ :param _request_auth: set to override the auth_settings for an a single
1510
+ request; this effectively ignores the
1511
+ authentication in the spec for a single request.
1512
+ :type _request_auth: dict, optional
1513
+ :param _content_type: force content-type for the request.
1514
+ :type _content_type: str, Optional
1515
+ :param _headers: set to override the headers for a single
1516
+ request; this effectively ignores the headers
1517
+ in the spec for a single request.
1518
+ :type _headers: dict, optional
1519
+ :param _host_index: set to override the host_index for a single
1520
+ request; this effectively ignores the host_index
1521
+ in the spec for a single request.
1522
+ :type _host_index: int, optional
1523
+ :return: Returns the result object.
1524
+ """ # noqa: E501
1525
+
1526
+ _param = self._apps_geofences_api_get_geofence_serialize(
1527
+ geofence_id=geofence_id,
1528
+ _request_auth=_request_auth,
1529
+ _content_type=_content_type,
1530
+ _headers=_headers,
1531
+ _host_index=_host_index
1532
+ )
1533
+
1534
+ _response_types_map: Dict[str, Optional[str]] = {
1535
+ '200': "GeofenceResponse",
1536
+ '401': "ErrorResponse",
1537
+ '404': "ErrorResponse",
1538
+ '500': "ErrorResponse",
1539
+ '501': "ErrorResponse",
1540
+ '502': "ErrorResponse",
1541
+ '503': "ErrorResponse",
1542
+ '504': "ErrorResponse",
1543
+ }
1544
+ response_data = await self.api_client.call_api(
1545
+ *_param,
1546
+ _request_timeout=_request_timeout
1547
+ )
1548
+ await response_data.read()
1549
+ return self.api_client.response_deserialize(
1550
+ response_data=response_data,
1551
+ response_types_map=_response_types_map,
1552
+ )
1553
+
1554
+
1555
+ @validate_call
1556
+ async def apps_geofences_api_get_geofence_without_preload_content(
1557
+ self,
1558
+ geofence_id: StrictStr,
1559
+ _request_timeout: Union[
1560
+ None,
1561
+ Annotated[StrictFloat, Field(gt=0)],
1562
+ Tuple[
1563
+ Annotated[StrictFloat, Field(gt=0)],
1564
+ Annotated[StrictFloat, Field(gt=0)]
1565
+ ]
1566
+ ] = None,
1567
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1568
+ _content_type: Optional[StrictStr] = None,
1569
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1570
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1571
+ ) -> RESTResponseType:
1572
+ """Get Geofence
1573
+
1574
+ Get a specific geofence by its ID.
1575
+
1576
+ :param geofence_id: (required)
1577
+ :type geofence_id: str
1578
+ :param _request_timeout: timeout setting for this request. If one
1579
+ number provided, it will be total request
1580
+ timeout. It can also be a pair (tuple) of
1581
+ (connection, read) timeouts.
1582
+ :type _request_timeout: int, tuple(int, int), optional
1583
+ :param _request_auth: set to override the auth_settings for an a single
1584
+ request; this effectively ignores the
1585
+ authentication in the spec for a single request.
1586
+ :type _request_auth: dict, optional
1587
+ :param _content_type: force content-type for the request.
1588
+ :type _content_type: str, Optional
1589
+ :param _headers: set to override the headers for a single
1590
+ request; this effectively ignores the headers
1591
+ in the spec for a single request.
1592
+ :type _headers: dict, optional
1593
+ :param _host_index: set to override the host_index for a single
1594
+ request; this effectively ignores the host_index
1595
+ in the spec for a single request.
1596
+ :type _host_index: int, optional
1597
+ :return: Returns the result object.
1598
+ """ # noqa: E501
1599
+
1600
+ _param = self._apps_geofences_api_get_geofence_serialize(
1601
+ geofence_id=geofence_id,
1602
+ _request_auth=_request_auth,
1603
+ _content_type=_content_type,
1604
+ _headers=_headers,
1605
+ _host_index=_host_index
1606
+ )
1607
+
1608
+ _response_types_map: Dict[str, Optional[str]] = {
1609
+ '200': "GeofenceResponse",
1610
+ '401': "ErrorResponse",
1611
+ '404': "ErrorResponse",
1612
+ '500': "ErrorResponse",
1613
+ '501': "ErrorResponse",
1614
+ '502': "ErrorResponse",
1615
+ '503': "ErrorResponse",
1616
+ '504': "ErrorResponse",
1617
+ }
1618
+ response_data = await self.api_client.call_api(
1619
+ *_param,
1620
+ _request_timeout=_request_timeout
1621
+ )
1622
+ return response_data.response
1623
+
1624
+
1625
+ def _apps_geofences_api_get_geofence_serialize(
1626
+ self,
1627
+ geofence_id,
1628
+ _request_auth,
1629
+ _content_type,
1630
+ _headers,
1631
+ _host_index,
1632
+ ) -> RequestSerialized:
1633
+
1634
+ _host = None
1635
+
1636
+ _collection_formats: Dict[str, str] = {
1637
+ }
1638
+
1639
+ _path_params: Dict[str, str] = {}
1640
+ _query_params: List[Tuple[str, str]] = []
1641
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1642
+ _form_params: List[Tuple[str, str]] = []
1643
+ _files: Dict[
1644
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1645
+ ] = {}
1646
+ _body_params: Optional[bytes] = None
1647
+
1648
+ # process the path parameters
1649
+ if geofence_id is not None:
1650
+ _path_params['geofence_id'] = geofence_id
1651
+ # process the query parameters
1652
+ # process the header parameters
1653
+ # process the form parameters
1654
+ # process the body parameter
1655
+
1656
+
1657
+ # set the HTTP header `Accept`
1658
+ if 'Accept' not in _header_params:
1659
+ _header_params['Accept'] = self.api_client.select_header_accept(
1660
+ [
1661
+ 'application/json'
1662
+ ]
1663
+ )
1664
+
1665
+
1666
+ # authentication setting
1667
+ _auth_settings: List[str] = [
1668
+ 'APIKeyBearer',
1669
+ 'JWTBearer'
1670
+ ]
1671
+
1672
+ return self.api_client.param_serialize(
1673
+ method='GET',
1674
+ resource_path='/api/v1/geofences/{geofence_id}',
1675
+ path_params=_path_params,
1676
+ query_params=_query_params,
1677
+ header_params=_header_params,
1678
+ body=_body_params,
1679
+ post_params=_form_params,
1680
+ files=_files,
1681
+ auth_settings=_auth_settings,
1682
+ collection_formats=_collection_formats,
1683
+ _host=_host,
1684
+ _request_auth=_request_auth
1685
+ )
1686
+
1687
+
1688
+
1689
+
1690
+ @validate_call
1691
+ async def apps_geofences_api_get_test_event_history(
1692
+ self,
1693
+ geofence_id: StrictStr,
1694
+ limit: Optional[Annotated[int, Field(le=100, strict=True)]] = None,
1695
+ offset: Optional[Annotated[int, Field(strict=True, ge=0)]] = None,
1696
+ _request_timeout: Union[
1697
+ None,
1698
+ Annotated[StrictFloat, Field(gt=0)],
1699
+ Tuple[
1700
+ Annotated[StrictFloat, Field(gt=0)],
1701
+ Annotated[StrictFloat, Field(gt=0)]
1702
+ ]
1703
+ ] = None,
1704
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1705
+ _content_type: Optional[StrictStr] = None,
1706
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1707
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1708
+ ) -> None:
1709
+ """Get Test Event History
1710
+
1711
+ Get test event history for a geofence. Args: geofence_id: ID of the geofence limit: Maximum number of events to return (default 50, max 100) offset: Number of events to skip (for pagination) Returns: List of test events with execution details
1712
+
1713
+ :param geofence_id: (required)
1714
+ :type geofence_id: str
1715
+ :param limit:
1716
+ :type limit: int
1717
+ :param offset:
1718
+ :type offset: int
1719
+ :param _request_timeout: timeout setting for this request. If one
1720
+ number provided, it will be total request
1721
+ timeout. It can also be a pair (tuple) of
1722
+ (connection, read) timeouts.
1723
+ :type _request_timeout: int, tuple(int, int), optional
1724
+ :param _request_auth: set to override the auth_settings for an a single
1725
+ request; this effectively ignores the
1726
+ authentication in the spec for a single request.
1727
+ :type _request_auth: dict, optional
1728
+ :param _content_type: force content-type for the request.
1729
+ :type _content_type: str, Optional
1730
+ :param _headers: set to override the headers for a single
1731
+ request; this effectively ignores the headers
1732
+ in the spec for a single request.
1733
+ :type _headers: dict, optional
1734
+ :param _host_index: set to override the host_index for a single
1735
+ request; this effectively ignores the host_index
1736
+ in the spec for a single request.
1737
+ :type _host_index: int, optional
1738
+ :return: Returns the result object.
1739
+ """ # noqa: E501
1740
+
1741
+ _param = self._apps_geofences_api_get_test_event_history_serialize(
1742
+ geofence_id=geofence_id,
1743
+ limit=limit,
1744
+ offset=offset,
1745
+ _request_auth=_request_auth,
1746
+ _content_type=_content_type,
1747
+ _headers=_headers,
1748
+ _host_index=_host_index
1749
+ )
1750
+
1751
+ _response_types_map: Dict[str, Optional[str]] = {
1752
+ '200': None,
1753
+ }
1754
+ response_data = await self.api_client.call_api(
1755
+ *_param,
1756
+ _request_timeout=_request_timeout
1757
+ )
1758
+ await response_data.read()
1759
+ return self.api_client.response_deserialize(
1760
+ response_data=response_data,
1761
+ response_types_map=_response_types_map,
1762
+ ).data
1763
+
1764
+
1765
+ @validate_call
1766
+ async def apps_geofences_api_get_test_event_history_with_http_info(
1767
+ self,
1768
+ geofence_id: StrictStr,
1769
+ limit: Optional[Annotated[int, Field(le=100, strict=True)]] = None,
1770
+ offset: Optional[Annotated[int, Field(strict=True, ge=0)]] = None,
1771
+ _request_timeout: Union[
1772
+ None,
1773
+ Annotated[StrictFloat, Field(gt=0)],
1774
+ Tuple[
1775
+ Annotated[StrictFloat, Field(gt=0)],
1776
+ Annotated[StrictFloat, Field(gt=0)]
1777
+ ]
1778
+ ] = None,
1779
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1780
+ _content_type: Optional[StrictStr] = None,
1781
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1782
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1783
+ ) -> ApiResponse[None]:
1784
+ """Get Test Event History
1785
+
1786
+ Get test event history for a geofence. Args: geofence_id: ID of the geofence limit: Maximum number of events to return (default 50, max 100) offset: Number of events to skip (for pagination) Returns: List of test events with execution details
1787
+
1788
+ :param geofence_id: (required)
1789
+ :type geofence_id: str
1790
+ :param limit:
1791
+ :type limit: int
1792
+ :param offset:
1793
+ :type offset: int
1794
+ :param _request_timeout: timeout setting for this request. If one
1795
+ number provided, it will be total request
1796
+ timeout. It can also be a pair (tuple) of
1797
+ (connection, read) timeouts.
1798
+ :type _request_timeout: int, tuple(int, int), optional
1799
+ :param _request_auth: set to override the auth_settings for an a single
1800
+ request; this effectively ignores the
1801
+ authentication in the spec for a single request.
1802
+ :type _request_auth: dict, optional
1803
+ :param _content_type: force content-type for the request.
1804
+ :type _content_type: str, Optional
1805
+ :param _headers: set to override the headers for a single
1806
+ request; this effectively ignores the headers
1807
+ in the spec for a single request.
1808
+ :type _headers: dict, optional
1809
+ :param _host_index: set to override the host_index for a single
1810
+ request; this effectively ignores the host_index
1811
+ in the spec for a single request.
1812
+ :type _host_index: int, optional
1813
+ :return: Returns the result object.
1814
+ """ # noqa: E501
1815
+
1816
+ _param = self._apps_geofences_api_get_test_event_history_serialize(
1817
+ geofence_id=geofence_id,
1818
+ limit=limit,
1819
+ offset=offset,
1820
+ _request_auth=_request_auth,
1821
+ _content_type=_content_type,
1822
+ _headers=_headers,
1823
+ _host_index=_host_index
1824
+ )
1825
+
1826
+ _response_types_map: Dict[str, Optional[str]] = {
1827
+ '200': None,
1828
+ }
1829
+ response_data = await self.api_client.call_api(
1830
+ *_param,
1831
+ _request_timeout=_request_timeout
1832
+ )
1833
+ await response_data.read()
1834
+ return self.api_client.response_deserialize(
1835
+ response_data=response_data,
1836
+ response_types_map=_response_types_map,
1837
+ )
1838
+
1839
+
1840
+ @validate_call
1841
+ async def apps_geofences_api_get_test_event_history_without_preload_content(
1842
+ self,
1843
+ geofence_id: StrictStr,
1844
+ limit: Optional[Annotated[int, Field(le=100, strict=True)]] = None,
1845
+ offset: Optional[Annotated[int, Field(strict=True, ge=0)]] = None,
1846
+ _request_timeout: Union[
1847
+ None,
1848
+ Annotated[StrictFloat, Field(gt=0)],
1849
+ Tuple[
1850
+ Annotated[StrictFloat, Field(gt=0)],
1851
+ Annotated[StrictFloat, Field(gt=0)]
1852
+ ]
1853
+ ] = None,
1854
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1855
+ _content_type: Optional[StrictStr] = None,
1856
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1857
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1858
+ ) -> RESTResponseType:
1859
+ """Get Test Event History
1860
+
1861
+ Get test event history for a geofence. Args: geofence_id: ID of the geofence limit: Maximum number of events to return (default 50, max 100) offset: Number of events to skip (for pagination) Returns: List of test events with execution details
1862
+
1863
+ :param geofence_id: (required)
1864
+ :type geofence_id: str
1865
+ :param limit:
1866
+ :type limit: int
1867
+ :param offset:
1868
+ :type offset: int
1869
+ :param _request_timeout: timeout setting for this request. If one
1870
+ number provided, it will be total request
1871
+ timeout. It can also be a pair (tuple) of
1872
+ (connection, read) timeouts.
1873
+ :type _request_timeout: int, tuple(int, int), optional
1874
+ :param _request_auth: set to override the auth_settings for an a single
1875
+ request; this effectively ignores the
1876
+ authentication in the spec for a single request.
1877
+ :type _request_auth: dict, optional
1878
+ :param _content_type: force content-type for the request.
1879
+ :type _content_type: str, Optional
1880
+ :param _headers: set to override the headers for a single
1881
+ request; this effectively ignores the headers
1882
+ in the spec for a single request.
1883
+ :type _headers: dict, optional
1884
+ :param _host_index: set to override the host_index for a single
1885
+ request; this effectively ignores the host_index
1886
+ in the spec for a single request.
1887
+ :type _host_index: int, optional
1888
+ :return: Returns the result object.
1889
+ """ # noqa: E501
1890
+
1891
+ _param = self._apps_geofences_api_get_test_event_history_serialize(
1892
+ geofence_id=geofence_id,
1893
+ limit=limit,
1894
+ offset=offset,
1895
+ _request_auth=_request_auth,
1896
+ _content_type=_content_type,
1897
+ _headers=_headers,
1898
+ _host_index=_host_index
1899
+ )
1900
+
1901
+ _response_types_map: Dict[str, Optional[str]] = {
1902
+ '200': None,
1903
+ }
1904
+ response_data = await self.api_client.call_api(
1905
+ *_param,
1906
+ _request_timeout=_request_timeout
1907
+ )
1908
+ return response_data.response
1909
+
1910
+
1911
+ def _apps_geofences_api_get_test_event_history_serialize(
1912
+ self,
1913
+ geofence_id,
1914
+ limit,
1915
+ offset,
1916
+ _request_auth,
1917
+ _content_type,
1918
+ _headers,
1919
+ _host_index,
1920
+ ) -> RequestSerialized:
1921
+
1922
+ _host = None
1923
+
1924
+ _collection_formats: Dict[str, str] = {
1925
+ }
1926
+
1927
+ _path_params: Dict[str, str] = {}
1928
+ _query_params: List[Tuple[str, str]] = []
1929
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1930
+ _form_params: List[Tuple[str, str]] = []
1931
+ _files: Dict[
1932
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1933
+ ] = {}
1934
+ _body_params: Optional[bytes] = None
1935
+
1936
+ # process the path parameters
1937
+ if geofence_id is not None:
1938
+ _path_params['geofence_id'] = geofence_id
1939
+ # process the query parameters
1940
+ if limit is not None:
1941
+
1942
+ _query_params.append(('limit', limit))
1943
+
1944
+ if offset is not None:
1945
+
1946
+ _query_params.append(('offset', offset))
1947
+
1948
+ # process the header parameters
1949
+ # process the form parameters
1950
+ # process the body parameter
1951
+
1952
+
1953
+
1954
+
1955
+ # authentication setting
1956
+ _auth_settings: List[str] = [
1957
+ 'APIKeyBearer',
1958
+ 'JWTBearer'
1959
+ ]
1960
+
1961
+ return self.api_client.param_serialize(
1962
+ method='GET',
1963
+ resource_path='/api/v1/geofences/{geofence_id}/test-events',
1964
+ path_params=_path_params,
1965
+ query_params=_query_params,
1966
+ header_params=_header_params,
1967
+ body=_body_params,
1968
+ post_params=_form_params,
1969
+ files=_files,
1970
+ auth_settings=_auth_settings,
1971
+ collection_formats=_collection_formats,
1972
+ _host=_host,
1973
+ _request_auth=_request_auth
1974
+ )
1975
+
1976
+
1977
+
1978
+
1979
+ @validate_call
1980
+ async def apps_geofences_api_get_upload_job_status(
1981
+ self,
1982
+ job_id: StrictStr,
1983
+ _request_timeout: Union[
1984
+ None,
1985
+ Annotated[StrictFloat, Field(gt=0)],
1986
+ Tuple[
1987
+ Annotated[StrictFloat, Field(gt=0)],
1988
+ Annotated[StrictFloat, Field(gt=0)]
1989
+ ]
1990
+ ] = None,
1991
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1992
+ _content_type: Optional[StrictStr] = None,
1993
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1994
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1995
+ ) -> UploadJobStatus:
1996
+ """Get Upload Job Status
1997
+
1998
+ Get the status of a geofence upload job. Returns current status, progress, and results (when completed) of the upload job.
1999
+
2000
+ :param job_id: (required)
2001
+ :type job_id: str
2002
+ :param _request_timeout: timeout setting for this request. If one
2003
+ number provided, it will be total request
2004
+ timeout. It can also be a pair (tuple) of
2005
+ (connection, read) timeouts.
2006
+ :type _request_timeout: int, tuple(int, int), optional
2007
+ :param _request_auth: set to override the auth_settings for an a single
2008
+ request; this effectively ignores the
2009
+ authentication in the spec for a single request.
2010
+ :type _request_auth: dict, optional
2011
+ :param _content_type: force content-type for the request.
2012
+ :type _content_type: str, Optional
2013
+ :param _headers: set to override the headers for a single
2014
+ request; this effectively ignores the headers
2015
+ in the spec for a single request.
2016
+ :type _headers: dict, optional
2017
+ :param _host_index: set to override the host_index for a single
2018
+ request; this effectively ignores the host_index
2019
+ in the spec for a single request.
2020
+ :type _host_index: int, optional
2021
+ :return: Returns the result object.
2022
+ """ # noqa: E501
2023
+
2024
+ _param = self._apps_geofences_api_get_upload_job_status_serialize(
2025
+ job_id=job_id,
2026
+ _request_auth=_request_auth,
2027
+ _content_type=_content_type,
2028
+ _headers=_headers,
2029
+ _host_index=_host_index
2030
+ )
2031
+
2032
+ _response_types_map: Dict[str, Optional[str]] = {
2033
+ '200': "UploadJobStatus",
2034
+ '401': "ErrorResponse",
2035
+ '404': "ErrorResponse",
2036
+ '500': "ErrorResponse",
2037
+ '501': "ErrorResponse",
2038
+ '502': "ErrorResponse",
2039
+ '503': "ErrorResponse",
2040
+ '504': "ErrorResponse",
2041
+ }
2042
+ response_data = await self.api_client.call_api(
2043
+ *_param,
2044
+ _request_timeout=_request_timeout
2045
+ )
2046
+ await response_data.read()
2047
+ return self.api_client.response_deserialize(
2048
+ response_data=response_data,
2049
+ response_types_map=_response_types_map,
2050
+ ).data
2051
+
2052
+
2053
+ @validate_call
2054
+ async def apps_geofences_api_get_upload_job_status_with_http_info(
2055
+ self,
2056
+ job_id: StrictStr,
2057
+ _request_timeout: Union[
2058
+ None,
2059
+ Annotated[StrictFloat, Field(gt=0)],
2060
+ Tuple[
2061
+ Annotated[StrictFloat, Field(gt=0)],
2062
+ Annotated[StrictFloat, Field(gt=0)]
2063
+ ]
2064
+ ] = None,
2065
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2066
+ _content_type: Optional[StrictStr] = None,
2067
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2068
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2069
+ ) -> ApiResponse[UploadJobStatus]:
2070
+ """Get Upload Job Status
2071
+
2072
+ Get the status of a geofence upload job. Returns current status, progress, and results (when completed) of the upload job.
2073
+
2074
+ :param job_id: (required)
2075
+ :type job_id: str
2076
+ :param _request_timeout: timeout setting for this request. If one
2077
+ number provided, it will be total request
2078
+ timeout. It can also be a pair (tuple) of
2079
+ (connection, read) timeouts.
2080
+ :type _request_timeout: int, tuple(int, int), optional
2081
+ :param _request_auth: set to override the auth_settings for an a single
2082
+ request; this effectively ignores the
2083
+ authentication in the spec for a single request.
2084
+ :type _request_auth: dict, optional
2085
+ :param _content_type: force content-type for the request.
2086
+ :type _content_type: str, Optional
2087
+ :param _headers: set to override the headers for a single
2088
+ request; this effectively ignores the headers
2089
+ in the spec for a single request.
2090
+ :type _headers: dict, optional
2091
+ :param _host_index: set to override the host_index for a single
2092
+ request; this effectively ignores the host_index
2093
+ in the spec for a single request.
2094
+ :type _host_index: int, optional
2095
+ :return: Returns the result object.
2096
+ """ # noqa: E501
2097
+
2098
+ _param = self._apps_geofences_api_get_upload_job_status_serialize(
2099
+ job_id=job_id,
2100
+ _request_auth=_request_auth,
2101
+ _content_type=_content_type,
2102
+ _headers=_headers,
2103
+ _host_index=_host_index
2104
+ )
2105
+
2106
+ _response_types_map: Dict[str, Optional[str]] = {
2107
+ '200': "UploadJobStatus",
2108
+ '401': "ErrorResponse",
2109
+ '404': "ErrorResponse",
2110
+ '500': "ErrorResponse",
2111
+ '501': "ErrorResponse",
2112
+ '502': "ErrorResponse",
2113
+ '503': "ErrorResponse",
2114
+ '504': "ErrorResponse",
2115
+ }
2116
+ response_data = await self.api_client.call_api(
2117
+ *_param,
2118
+ _request_timeout=_request_timeout
2119
+ )
2120
+ await response_data.read()
2121
+ return self.api_client.response_deserialize(
2122
+ response_data=response_data,
2123
+ response_types_map=_response_types_map,
2124
+ )
2125
+
2126
+
2127
+ @validate_call
2128
+ async def apps_geofences_api_get_upload_job_status_without_preload_content(
2129
+ self,
2130
+ job_id: StrictStr,
2131
+ _request_timeout: Union[
2132
+ None,
2133
+ Annotated[StrictFloat, Field(gt=0)],
2134
+ Tuple[
2135
+ Annotated[StrictFloat, Field(gt=0)],
2136
+ Annotated[StrictFloat, Field(gt=0)]
2137
+ ]
2138
+ ] = None,
2139
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2140
+ _content_type: Optional[StrictStr] = None,
2141
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2142
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2143
+ ) -> RESTResponseType:
2144
+ """Get Upload Job Status
2145
+
2146
+ Get the status of a geofence upload job. Returns current status, progress, and results (when completed) of the upload job.
2147
+
2148
+ :param job_id: (required)
2149
+ :type job_id: str
2150
+ :param _request_timeout: timeout setting for this request. If one
2151
+ number provided, it will be total request
2152
+ timeout. It can also be a pair (tuple) of
2153
+ (connection, read) timeouts.
2154
+ :type _request_timeout: int, tuple(int, int), optional
2155
+ :param _request_auth: set to override the auth_settings for an a single
2156
+ request; this effectively ignores the
2157
+ authentication in the spec for a single request.
2158
+ :type _request_auth: dict, optional
2159
+ :param _content_type: force content-type for the request.
2160
+ :type _content_type: str, Optional
2161
+ :param _headers: set to override the headers for a single
2162
+ request; this effectively ignores the headers
2163
+ in the spec for a single request.
2164
+ :type _headers: dict, optional
2165
+ :param _host_index: set to override the host_index for a single
2166
+ request; this effectively ignores the host_index
2167
+ in the spec for a single request.
2168
+ :type _host_index: int, optional
2169
+ :return: Returns the result object.
2170
+ """ # noqa: E501
2171
+
2172
+ _param = self._apps_geofences_api_get_upload_job_status_serialize(
2173
+ job_id=job_id,
2174
+ _request_auth=_request_auth,
2175
+ _content_type=_content_type,
2176
+ _headers=_headers,
2177
+ _host_index=_host_index
2178
+ )
2179
+
2180
+ _response_types_map: Dict[str, Optional[str]] = {
2181
+ '200': "UploadJobStatus",
2182
+ '401': "ErrorResponse",
2183
+ '404': "ErrorResponse",
2184
+ '500': "ErrorResponse",
2185
+ '501': "ErrorResponse",
2186
+ '502': "ErrorResponse",
2187
+ '503': "ErrorResponse",
2188
+ '504': "ErrorResponse",
2189
+ }
2190
+ response_data = await self.api_client.call_api(
2191
+ *_param,
2192
+ _request_timeout=_request_timeout
2193
+ )
2194
+ return response_data.response
2195
+
2196
+
2197
+ def _apps_geofences_api_get_upload_job_status_serialize(
2198
+ self,
2199
+ job_id,
2200
+ _request_auth,
2201
+ _content_type,
2202
+ _headers,
2203
+ _host_index,
2204
+ ) -> RequestSerialized:
2205
+
2206
+ _host = None
2207
+
2208
+ _collection_formats: Dict[str, str] = {
2209
+ }
2210
+
2211
+ _path_params: Dict[str, str] = {}
2212
+ _query_params: List[Tuple[str, str]] = []
2213
+ _header_params: Dict[str, Optional[str]] = _headers or {}
2214
+ _form_params: List[Tuple[str, str]] = []
2215
+ _files: Dict[
2216
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
2217
+ ] = {}
2218
+ _body_params: Optional[bytes] = None
2219
+
2220
+ # process the path parameters
2221
+ if job_id is not None:
2222
+ _path_params['job_id'] = job_id
2223
+ # process the query parameters
2224
+ # process the header parameters
2225
+ # process the form parameters
2226
+ # process the body parameter
2227
+
2228
+
2229
+ # set the HTTP header `Accept`
2230
+ if 'Accept' not in _header_params:
2231
+ _header_params['Accept'] = self.api_client.select_header_accept(
2232
+ [
2233
+ 'application/json'
2234
+ ]
2235
+ )
2236
+
2237
+
2238
+ # authentication setting
2239
+ _auth_settings: List[str] = [
2240
+ 'APIKeyBearer',
2241
+ 'JWTBearer'
2242
+ ]
2243
+
2244
+ return self.api_client.param_serialize(
2245
+ method='GET',
2246
+ resource_path='/api/v1/geofences/upload/{job_id}/status',
2247
+ path_params=_path_params,
2248
+ query_params=_query_params,
2249
+ header_params=_header_params,
2250
+ body=_body_params,
2251
+ post_params=_form_params,
2252
+ files=_files,
2253
+ auth_settings=_auth_settings,
2254
+ collection_formats=_collection_formats,
2255
+ _host=_host,
2256
+ _request_auth=_request_auth
2257
+ )
2258
+
2259
+
2260
+
2261
+
2262
+ @validate_call
2263
+ async def apps_geofences_api_list_geofence_groups(
2264
+ self,
2265
+ _request_timeout: Union[
2266
+ None,
2267
+ Annotated[StrictFloat, Field(gt=0)],
2268
+ Tuple[
2269
+ Annotated[StrictFloat, Field(gt=0)],
2270
+ Annotated[StrictFloat, Field(gt=0)]
2271
+ ]
2272
+ ] = None,
2273
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2274
+ _content_type: Optional[StrictStr] = None,
2275
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2276
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2277
+ ) -> Dict[str, object]:
2278
+ """List Geofence Groups
2279
+
2280
+ List all unique groups for the current user.
2281
+
2282
+ :param _request_timeout: timeout setting for this request. If one
2283
+ number provided, it will be total request
2284
+ timeout. It can also be a pair (tuple) of
2285
+ (connection, read) timeouts.
2286
+ :type _request_timeout: int, tuple(int, int), optional
2287
+ :param _request_auth: set to override the auth_settings for an a single
2288
+ request; this effectively ignores the
2289
+ authentication in the spec for a single request.
2290
+ :type _request_auth: dict, optional
2291
+ :param _content_type: force content-type for the request.
2292
+ :type _content_type: str, Optional
2293
+ :param _headers: set to override the headers for a single
2294
+ request; this effectively ignores the headers
2295
+ in the spec for a single request.
2296
+ :type _headers: dict, optional
2297
+ :param _host_index: set to override the host_index for a single
2298
+ request; this effectively ignores the host_index
2299
+ in the spec for a single request.
2300
+ :type _host_index: int, optional
2301
+ :return: Returns the result object.
2302
+ """ # noqa: E501
2303
+
2304
+ _param = self._apps_geofences_api_list_geofence_groups_serialize(
2305
+ _request_auth=_request_auth,
2306
+ _content_type=_content_type,
2307
+ _headers=_headers,
2308
+ _host_index=_host_index
2309
+ )
2310
+
2311
+ _response_types_map: Dict[str, Optional[str]] = {
2312
+ '200': "Dict[str, object]",
2313
+ }
2314
+ response_data = await self.api_client.call_api(
2315
+ *_param,
2316
+ _request_timeout=_request_timeout
2317
+ )
2318
+ await response_data.read()
2319
+ return self.api_client.response_deserialize(
2320
+ response_data=response_data,
2321
+ response_types_map=_response_types_map,
2322
+ ).data
2323
+
2324
+
2325
+ @validate_call
2326
+ async def apps_geofences_api_list_geofence_groups_with_http_info(
2327
+ self,
2328
+ _request_timeout: Union[
2329
+ None,
2330
+ Annotated[StrictFloat, Field(gt=0)],
2331
+ Tuple[
2332
+ Annotated[StrictFloat, Field(gt=0)],
2333
+ Annotated[StrictFloat, Field(gt=0)]
2334
+ ]
2335
+ ] = None,
2336
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2337
+ _content_type: Optional[StrictStr] = None,
2338
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2339
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2340
+ ) -> ApiResponse[Dict[str, object]]:
2341
+ """List Geofence Groups
2342
+
2343
+ List all unique groups for the current user.
2344
+
2345
+ :param _request_timeout: timeout setting for this request. If one
2346
+ number provided, it will be total request
2347
+ timeout. It can also be a pair (tuple) of
2348
+ (connection, read) timeouts.
2349
+ :type _request_timeout: int, tuple(int, int), optional
2350
+ :param _request_auth: set to override the auth_settings for an a single
2351
+ request; this effectively ignores the
2352
+ authentication in the spec for a single request.
2353
+ :type _request_auth: dict, optional
2354
+ :param _content_type: force content-type for the request.
2355
+ :type _content_type: str, Optional
2356
+ :param _headers: set to override the headers for a single
2357
+ request; this effectively ignores the headers
2358
+ in the spec for a single request.
2359
+ :type _headers: dict, optional
2360
+ :param _host_index: set to override the host_index for a single
2361
+ request; this effectively ignores the host_index
2362
+ in the spec for a single request.
2363
+ :type _host_index: int, optional
2364
+ :return: Returns the result object.
2365
+ """ # noqa: E501
2366
+
2367
+ _param = self._apps_geofences_api_list_geofence_groups_serialize(
2368
+ _request_auth=_request_auth,
2369
+ _content_type=_content_type,
2370
+ _headers=_headers,
2371
+ _host_index=_host_index
2372
+ )
2373
+
2374
+ _response_types_map: Dict[str, Optional[str]] = {
2375
+ '200': "Dict[str, object]",
2376
+ }
2377
+ response_data = await self.api_client.call_api(
2378
+ *_param,
2379
+ _request_timeout=_request_timeout
2380
+ )
2381
+ await response_data.read()
2382
+ return self.api_client.response_deserialize(
2383
+ response_data=response_data,
2384
+ response_types_map=_response_types_map,
2385
+ )
2386
+
2387
+
2388
+ @validate_call
2389
+ async def apps_geofences_api_list_geofence_groups_without_preload_content(
2390
+ self,
2391
+ _request_timeout: Union[
2392
+ None,
2393
+ Annotated[StrictFloat, Field(gt=0)],
2394
+ Tuple[
2395
+ Annotated[StrictFloat, Field(gt=0)],
2396
+ Annotated[StrictFloat, Field(gt=0)]
2397
+ ]
2398
+ ] = None,
2399
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2400
+ _content_type: Optional[StrictStr] = None,
2401
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2402
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2403
+ ) -> RESTResponseType:
2404
+ """List Geofence Groups
2405
+
2406
+ List all unique groups for the current user.
2407
+
2408
+ :param _request_timeout: timeout setting for this request. If one
2409
+ number provided, it will be total request
2410
+ timeout. It can also be a pair (tuple) of
2411
+ (connection, read) timeouts.
2412
+ :type _request_timeout: int, tuple(int, int), optional
2413
+ :param _request_auth: set to override the auth_settings for an a single
2414
+ request; this effectively ignores the
2415
+ authentication in the spec for a single request.
2416
+ :type _request_auth: dict, optional
2417
+ :param _content_type: force content-type for the request.
2418
+ :type _content_type: str, Optional
2419
+ :param _headers: set to override the headers for a single
2420
+ request; this effectively ignores the headers
2421
+ in the spec for a single request.
2422
+ :type _headers: dict, optional
2423
+ :param _host_index: set to override the host_index for a single
2424
+ request; this effectively ignores the host_index
2425
+ in the spec for a single request.
2426
+ :type _host_index: int, optional
2427
+ :return: Returns the result object.
2428
+ """ # noqa: E501
2429
+
2430
+ _param = self._apps_geofences_api_list_geofence_groups_serialize(
2431
+ _request_auth=_request_auth,
2432
+ _content_type=_content_type,
2433
+ _headers=_headers,
2434
+ _host_index=_host_index
2435
+ )
2436
+
2437
+ _response_types_map: Dict[str, Optional[str]] = {
2438
+ '200': "Dict[str, object]",
2439
+ }
2440
+ response_data = await self.api_client.call_api(
2441
+ *_param,
2442
+ _request_timeout=_request_timeout
2443
+ )
2444
+ return response_data.response
2445
+
2446
+
2447
+ def _apps_geofences_api_list_geofence_groups_serialize(
2448
+ self,
2449
+ _request_auth,
2450
+ _content_type,
2451
+ _headers,
2452
+ _host_index,
2453
+ ) -> RequestSerialized:
2454
+
2455
+ _host = None
2456
+
2457
+ _collection_formats: Dict[str, str] = {
2458
+ }
2459
+
2460
+ _path_params: Dict[str, str] = {}
2461
+ _query_params: List[Tuple[str, str]] = []
2462
+ _header_params: Dict[str, Optional[str]] = _headers or {}
2463
+ _form_params: List[Tuple[str, str]] = []
2464
+ _files: Dict[
2465
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
2466
+ ] = {}
2467
+ _body_params: Optional[bytes] = None
2468
+
2469
+ # process the path parameters
2470
+ # process the query parameters
2471
+ # process the header parameters
2472
+ # process the form parameters
2473
+ # process the body parameter
2474
+
2475
+
2476
+ # set the HTTP header `Accept`
2477
+ if 'Accept' not in _header_params:
2478
+ _header_params['Accept'] = self.api_client.select_header_accept(
2479
+ [
2480
+ 'application/json'
2481
+ ]
2482
+ )
2483
+
2484
+
2485
+ # authentication setting
2486
+ _auth_settings: List[str] = [
2487
+ 'APIKeyBearer',
2488
+ 'JWTBearer'
2489
+ ]
2490
+
2491
+ return self.api_client.param_serialize(
2492
+ method='GET',
2493
+ resource_path='/api/v1/geofences/groups',
2494
+ path_params=_path_params,
2495
+ query_params=_query_params,
2496
+ header_params=_header_params,
2497
+ body=_body_params,
2498
+ post_params=_form_params,
2499
+ files=_files,
2500
+ auth_settings=_auth_settings,
2501
+ collection_formats=_collection_formats,
2502
+ _host=_host,
2503
+ _request_auth=_request_auth
2504
+ )
2505
+
2506
+
2507
+
2508
+
2509
+ @validate_call
2510
+ async def apps_geofences_api_list_geofences(
2511
+ self,
2512
+ limit: Optional[StrictInt] = None,
2513
+ offset: Optional[StrictInt] = None,
2514
+ active_only: Optional[StrictBool] = None,
2515
+ _request_timeout: Union[
2516
+ None,
2517
+ Annotated[StrictFloat, Field(gt=0)],
2518
+ Tuple[
2519
+ Annotated[StrictFloat, Field(gt=0)],
2520
+ Annotated[StrictFloat, Field(gt=0)]
2521
+ ]
2522
+ ] = None,
2523
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2524
+ _content_type: Optional[StrictStr] = None,
2525
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2526
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2527
+ ) -> GeofenceListResponse:
2528
+ """List Geofences
2529
+
2530
+ Get user's polygon geofences.
2531
+
2532
+ :param limit:
2533
+ :type limit: int
2534
+ :param offset:
2535
+ :type offset: int
2536
+ :param active_only:
2537
+ :type active_only: bool
2538
+ :param _request_timeout: timeout setting for this request. If one
2539
+ number provided, it will be total request
2540
+ timeout. It can also be a pair (tuple) of
2541
+ (connection, read) timeouts.
2542
+ :type _request_timeout: int, tuple(int, int), optional
2543
+ :param _request_auth: set to override the auth_settings for an a single
2544
+ request; this effectively ignores the
2545
+ authentication in the spec for a single request.
2546
+ :type _request_auth: dict, optional
2547
+ :param _content_type: force content-type for the request.
2548
+ :type _content_type: str, Optional
2549
+ :param _headers: set to override the headers for a single
2550
+ request; this effectively ignores the headers
2551
+ in the spec for a single request.
2552
+ :type _headers: dict, optional
2553
+ :param _host_index: set to override the host_index for a single
2554
+ request; this effectively ignores the host_index
2555
+ in the spec for a single request.
2556
+ :type _host_index: int, optional
2557
+ :return: Returns the result object.
2558
+ """ # noqa: E501
2559
+
2560
+ _param = self._apps_geofences_api_list_geofences_serialize(
2561
+ limit=limit,
2562
+ offset=offset,
2563
+ active_only=active_only,
2564
+ _request_auth=_request_auth,
2565
+ _content_type=_content_type,
2566
+ _headers=_headers,
2567
+ _host_index=_host_index
2568
+ )
2569
+
2570
+ _response_types_map: Dict[str, Optional[str]] = {
2571
+ '200': "GeofenceListResponse",
2572
+ '401': "ErrorResponse",
2573
+ '429': "RateLimitResponse",
2574
+ '500': "ErrorResponse",
2575
+ '501': "ErrorResponse",
2576
+ '502': "ErrorResponse",
2577
+ '503': "ErrorResponse",
2578
+ '504': "ErrorResponse",
2579
+ }
2580
+ response_data = await self.api_client.call_api(
2581
+ *_param,
2582
+ _request_timeout=_request_timeout
2583
+ )
2584
+ await response_data.read()
2585
+ return self.api_client.response_deserialize(
2586
+ response_data=response_data,
2587
+ response_types_map=_response_types_map,
2588
+ ).data
2589
+
2590
+
2591
+ @validate_call
2592
+ async def apps_geofences_api_list_geofences_with_http_info(
2593
+ self,
2594
+ limit: Optional[StrictInt] = None,
2595
+ offset: Optional[StrictInt] = None,
2596
+ active_only: Optional[StrictBool] = None,
2597
+ _request_timeout: Union[
2598
+ None,
2599
+ Annotated[StrictFloat, Field(gt=0)],
2600
+ Tuple[
2601
+ Annotated[StrictFloat, Field(gt=0)],
2602
+ Annotated[StrictFloat, Field(gt=0)]
2603
+ ]
2604
+ ] = None,
2605
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2606
+ _content_type: Optional[StrictStr] = None,
2607
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2608
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2609
+ ) -> ApiResponse[GeofenceListResponse]:
2610
+ """List Geofences
2611
+
2612
+ Get user's polygon geofences.
2613
+
2614
+ :param limit:
2615
+ :type limit: int
2616
+ :param offset:
2617
+ :type offset: int
2618
+ :param active_only:
2619
+ :type active_only: bool
2620
+ :param _request_timeout: timeout setting for this request. If one
2621
+ number provided, it will be total request
2622
+ timeout. It can also be a pair (tuple) of
2623
+ (connection, read) timeouts.
2624
+ :type _request_timeout: int, tuple(int, int), optional
2625
+ :param _request_auth: set to override the auth_settings for an a single
2626
+ request; this effectively ignores the
2627
+ authentication in the spec for a single request.
2628
+ :type _request_auth: dict, optional
2629
+ :param _content_type: force content-type for the request.
2630
+ :type _content_type: str, Optional
2631
+ :param _headers: set to override the headers for a single
2632
+ request; this effectively ignores the headers
2633
+ in the spec for a single request.
2634
+ :type _headers: dict, optional
2635
+ :param _host_index: set to override the host_index for a single
2636
+ request; this effectively ignores the host_index
2637
+ in the spec for a single request.
2638
+ :type _host_index: int, optional
2639
+ :return: Returns the result object.
2640
+ """ # noqa: E501
2641
+
2642
+ _param = self._apps_geofences_api_list_geofences_serialize(
2643
+ limit=limit,
2644
+ offset=offset,
2645
+ active_only=active_only,
2646
+ _request_auth=_request_auth,
2647
+ _content_type=_content_type,
2648
+ _headers=_headers,
2649
+ _host_index=_host_index
2650
+ )
2651
+
2652
+ _response_types_map: Dict[str, Optional[str]] = {
2653
+ '200': "GeofenceListResponse",
2654
+ '401': "ErrorResponse",
2655
+ '429': "RateLimitResponse",
2656
+ '500': "ErrorResponse",
2657
+ '501': "ErrorResponse",
2658
+ '502': "ErrorResponse",
2659
+ '503': "ErrorResponse",
2660
+ '504': "ErrorResponse",
2661
+ }
2662
+ response_data = await self.api_client.call_api(
2663
+ *_param,
2664
+ _request_timeout=_request_timeout
2665
+ )
2666
+ await response_data.read()
2667
+ return self.api_client.response_deserialize(
2668
+ response_data=response_data,
2669
+ response_types_map=_response_types_map,
2670
+ )
2671
+
2672
+
2673
+ @validate_call
2674
+ async def apps_geofences_api_list_geofences_without_preload_content(
2675
+ self,
2676
+ limit: Optional[StrictInt] = None,
2677
+ offset: Optional[StrictInt] = None,
2678
+ active_only: Optional[StrictBool] = None,
2679
+ _request_timeout: Union[
2680
+ None,
2681
+ Annotated[StrictFloat, Field(gt=0)],
2682
+ Tuple[
2683
+ Annotated[StrictFloat, Field(gt=0)],
2684
+ Annotated[StrictFloat, Field(gt=0)]
2685
+ ]
2686
+ ] = None,
2687
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2688
+ _content_type: Optional[StrictStr] = None,
2689
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2690
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2691
+ ) -> RESTResponseType:
2692
+ """List Geofences
2693
+
2694
+ Get user's polygon geofences.
2695
+
2696
+ :param limit:
2697
+ :type limit: int
2698
+ :param offset:
2699
+ :type offset: int
2700
+ :param active_only:
2701
+ :type active_only: bool
2702
+ :param _request_timeout: timeout setting for this request. If one
2703
+ number provided, it will be total request
2704
+ timeout. It can also be a pair (tuple) of
2705
+ (connection, read) timeouts.
2706
+ :type _request_timeout: int, tuple(int, int), optional
2707
+ :param _request_auth: set to override the auth_settings for an a single
2708
+ request; this effectively ignores the
2709
+ authentication in the spec for a single request.
2710
+ :type _request_auth: dict, optional
2711
+ :param _content_type: force content-type for the request.
2712
+ :type _content_type: str, Optional
2713
+ :param _headers: set to override the headers for a single
2714
+ request; this effectively ignores the headers
2715
+ in the spec for a single request.
2716
+ :type _headers: dict, optional
2717
+ :param _host_index: set to override the host_index for a single
2718
+ request; this effectively ignores the host_index
2719
+ in the spec for a single request.
2720
+ :type _host_index: int, optional
2721
+ :return: Returns the result object.
2722
+ """ # noqa: E501
2723
+
2724
+ _param = self._apps_geofences_api_list_geofences_serialize(
2725
+ limit=limit,
2726
+ offset=offset,
2727
+ active_only=active_only,
2728
+ _request_auth=_request_auth,
2729
+ _content_type=_content_type,
2730
+ _headers=_headers,
2731
+ _host_index=_host_index
2732
+ )
2733
+
2734
+ _response_types_map: Dict[str, Optional[str]] = {
2735
+ '200': "GeofenceListResponse",
2736
+ '401': "ErrorResponse",
2737
+ '429': "RateLimitResponse",
2738
+ '500': "ErrorResponse",
2739
+ '501': "ErrorResponse",
2740
+ '502': "ErrorResponse",
2741
+ '503': "ErrorResponse",
2742
+ '504': "ErrorResponse",
2743
+ }
2744
+ response_data = await self.api_client.call_api(
2745
+ *_param,
2746
+ _request_timeout=_request_timeout
2747
+ )
2748
+ return response_data.response
2749
+
2750
+
2751
+ def _apps_geofences_api_list_geofences_serialize(
2752
+ self,
2753
+ limit,
2754
+ offset,
2755
+ active_only,
2756
+ _request_auth,
2757
+ _content_type,
2758
+ _headers,
2759
+ _host_index,
2760
+ ) -> RequestSerialized:
2761
+
2762
+ _host = None
2763
+
2764
+ _collection_formats: Dict[str, str] = {
2765
+ }
2766
+
2767
+ _path_params: Dict[str, str] = {}
2768
+ _query_params: List[Tuple[str, str]] = []
2769
+ _header_params: Dict[str, Optional[str]] = _headers or {}
2770
+ _form_params: List[Tuple[str, str]] = []
2771
+ _files: Dict[
2772
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
2773
+ ] = {}
2774
+ _body_params: Optional[bytes] = None
2775
+
2776
+ # process the path parameters
2777
+ # process the query parameters
2778
+ if limit is not None:
2779
+
2780
+ _query_params.append(('limit', limit))
2781
+
2782
+ if offset is not None:
2783
+
2784
+ _query_params.append(('offset', offset))
2785
+
2786
+ if active_only is not None:
2787
+
2788
+ _query_params.append(('active_only', active_only))
2789
+
2790
+ # process the header parameters
2791
+ # process the form parameters
2792
+ # process the body parameter
2793
+
2794
+
2795
+ # set the HTTP header `Accept`
2796
+ if 'Accept' not in _header_params:
2797
+ _header_params['Accept'] = self.api_client.select_header_accept(
2798
+ [
2799
+ 'application/json'
2800
+ ]
2801
+ )
2802
+
2803
+
2804
+ # authentication setting
2805
+ _auth_settings: List[str] = [
2806
+ 'APIKeyBearer',
2807
+ 'JWTBearer'
2808
+ ]
2809
+
2810
+ return self.api_client.param_serialize(
2811
+ method='GET',
2812
+ resource_path='/api/v1/geofences/',
2813
+ path_params=_path_params,
2814
+ query_params=_query_params,
2815
+ header_params=_header_params,
2816
+ body=_body_params,
2817
+ post_params=_form_params,
2818
+ files=_files,
2819
+ auth_settings=_auth_settings,
2820
+ collection_formats=_collection_formats,
2821
+ _host=_host,
2822
+ _request_auth=_request_auth
2823
+ )
2824
+
2825
+
2826
+
2827
+
2828
+ @validate_call
2829
+ async def apps_geofences_api_list_group_geofences(
2830
+ self,
2831
+ group_id: StrictStr,
2832
+ _request_timeout: Union[
2833
+ None,
2834
+ Annotated[StrictFloat, Field(gt=0)],
2835
+ Tuple[
2836
+ Annotated[StrictFloat, Field(gt=0)],
2837
+ Annotated[StrictFloat, Field(gt=0)]
2838
+ ]
2839
+ ] = None,
2840
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2841
+ _content_type: Optional[StrictStr] = None,
2842
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2843
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2844
+ ) -> Dict[str, object]:
2845
+ """List Group Geofences
2846
+
2847
+ List all geofences in a specific group.
2848
+
2849
+ :param group_id: (required)
2850
+ :type group_id: str
2851
+ :param _request_timeout: timeout setting for this request. If one
2852
+ number provided, it will be total request
2853
+ timeout. It can also be a pair (tuple) of
2854
+ (connection, read) timeouts.
2855
+ :type _request_timeout: int, tuple(int, int), optional
2856
+ :param _request_auth: set to override the auth_settings for an a single
2857
+ request; this effectively ignores the
2858
+ authentication in the spec for a single request.
2859
+ :type _request_auth: dict, optional
2860
+ :param _content_type: force content-type for the request.
2861
+ :type _content_type: str, Optional
2862
+ :param _headers: set to override the headers for a single
2863
+ request; this effectively ignores the headers
2864
+ in the spec for a single request.
2865
+ :type _headers: dict, optional
2866
+ :param _host_index: set to override the host_index for a single
2867
+ request; this effectively ignores the host_index
2868
+ in the spec for a single request.
2869
+ :type _host_index: int, optional
2870
+ :return: Returns the result object.
2871
+ """ # noqa: E501
2872
+
2873
+ _param = self._apps_geofences_api_list_group_geofences_serialize(
2874
+ group_id=group_id,
2875
+ _request_auth=_request_auth,
2876
+ _content_type=_content_type,
2877
+ _headers=_headers,
2878
+ _host_index=_host_index
2879
+ )
2880
+
2881
+ _response_types_map: Dict[str, Optional[str]] = {
2882
+ '200': "Dict[str, object]",
2883
+ }
2884
+ response_data = await self.api_client.call_api(
2885
+ *_param,
2886
+ _request_timeout=_request_timeout
2887
+ )
2888
+ await response_data.read()
2889
+ return self.api_client.response_deserialize(
2890
+ response_data=response_data,
2891
+ response_types_map=_response_types_map,
2892
+ ).data
2893
+
2894
+
2895
+ @validate_call
2896
+ async def apps_geofences_api_list_group_geofences_with_http_info(
2897
+ self,
2898
+ group_id: StrictStr,
2899
+ _request_timeout: Union[
2900
+ None,
2901
+ Annotated[StrictFloat, Field(gt=0)],
2902
+ Tuple[
2903
+ Annotated[StrictFloat, Field(gt=0)],
2904
+ Annotated[StrictFloat, Field(gt=0)]
2905
+ ]
2906
+ ] = None,
2907
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2908
+ _content_type: Optional[StrictStr] = None,
2909
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2910
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2911
+ ) -> ApiResponse[Dict[str, object]]:
2912
+ """List Group Geofences
2913
+
2914
+ List all geofences in a specific group.
2915
+
2916
+ :param group_id: (required)
2917
+ :type group_id: str
2918
+ :param _request_timeout: timeout setting for this request. If one
2919
+ number provided, it will be total request
2920
+ timeout. It can also be a pair (tuple) of
2921
+ (connection, read) timeouts.
2922
+ :type _request_timeout: int, tuple(int, int), optional
2923
+ :param _request_auth: set to override the auth_settings for an a single
2924
+ request; this effectively ignores the
2925
+ authentication in the spec for a single request.
2926
+ :type _request_auth: dict, optional
2927
+ :param _content_type: force content-type for the request.
2928
+ :type _content_type: str, Optional
2929
+ :param _headers: set to override the headers for a single
2930
+ request; this effectively ignores the headers
2931
+ in the spec for a single request.
2932
+ :type _headers: dict, optional
2933
+ :param _host_index: set to override the host_index for a single
2934
+ request; this effectively ignores the host_index
2935
+ in the spec for a single request.
2936
+ :type _host_index: int, optional
2937
+ :return: Returns the result object.
2938
+ """ # noqa: E501
2939
+
2940
+ _param = self._apps_geofences_api_list_group_geofences_serialize(
2941
+ group_id=group_id,
2942
+ _request_auth=_request_auth,
2943
+ _content_type=_content_type,
2944
+ _headers=_headers,
2945
+ _host_index=_host_index
2946
+ )
2947
+
2948
+ _response_types_map: Dict[str, Optional[str]] = {
2949
+ '200': "Dict[str, object]",
2950
+ }
2951
+ response_data = await self.api_client.call_api(
2952
+ *_param,
2953
+ _request_timeout=_request_timeout
2954
+ )
2955
+ await response_data.read()
2956
+ return self.api_client.response_deserialize(
2957
+ response_data=response_data,
2958
+ response_types_map=_response_types_map,
2959
+ )
2960
+
2961
+
2962
+ @validate_call
2963
+ async def apps_geofences_api_list_group_geofences_without_preload_content(
2964
+ self,
2965
+ group_id: StrictStr,
2966
+ _request_timeout: Union[
2967
+ None,
2968
+ Annotated[StrictFloat, Field(gt=0)],
2969
+ Tuple[
2970
+ Annotated[StrictFloat, Field(gt=0)],
2971
+ Annotated[StrictFloat, Field(gt=0)]
2972
+ ]
2973
+ ] = None,
2974
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2975
+ _content_type: Optional[StrictStr] = None,
2976
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2977
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2978
+ ) -> RESTResponseType:
2979
+ """List Group Geofences
2980
+
2981
+ List all geofences in a specific group.
2982
+
2983
+ :param group_id: (required)
2984
+ :type group_id: str
2985
+ :param _request_timeout: timeout setting for this request. If one
2986
+ number provided, it will be total request
2987
+ timeout. It can also be a pair (tuple) of
2988
+ (connection, read) timeouts.
2989
+ :type _request_timeout: int, tuple(int, int), optional
2990
+ :param _request_auth: set to override the auth_settings for an a single
2991
+ request; this effectively ignores the
2992
+ authentication in the spec for a single request.
2993
+ :type _request_auth: dict, optional
2994
+ :param _content_type: force content-type for the request.
2995
+ :type _content_type: str, Optional
2996
+ :param _headers: set to override the headers for a single
2997
+ request; this effectively ignores the headers
2998
+ in the spec for a single request.
2999
+ :type _headers: dict, optional
3000
+ :param _host_index: set to override the host_index for a single
3001
+ request; this effectively ignores the host_index
3002
+ in the spec for a single request.
3003
+ :type _host_index: int, optional
3004
+ :return: Returns the result object.
3005
+ """ # noqa: E501
3006
+
3007
+ _param = self._apps_geofences_api_list_group_geofences_serialize(
3008
+ group_id=group_id,
3009
+ _request_auth=_request_auth,
3010
+ _content_type=_content_type,
3011
+ _headers=_headers,
3012
+ _host_index=_host_index
3013
+ )
3014
+
3015
+ _response_types_map: Dict[str, Optional[str]] = {
3016
+ '200': "Dict[str, object]",
3017
+ }
3018
+ response_data = await self.api_client.call_api(
3019
+ *_param,
3020
+ _request_timeout=_request_timeout
3021
+ )
3022
+ return response_data.response
3023
+
3024
+
3025
+ def _apps_geofences_api_list_group_geofences_serialize(
3026
+ self,
3027
+ group_id,
3028
+ _request_auth,
3029
+ _content_type,
3030
+ _headers,
3031
+ _host_index,
3032
+ ) -> RequestSerialized:
3033
+
3034
+ _host = None
3035
+
3036
+ _collection_formats: Dict[str, str] = {
3037
+ }
3038
+
3039
+ _path_params: Dict[str, str] = {}
3040
+ _query_params: List[Tuple[str, str]] = []
3041
+ _header_params: Dict[str, Optional[str]] = _headers or {}
3042
+ _form_params: List[Tuple[str, str]] = []
3043
+ _files: Dict[
3044
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
3045
+ ] = {}
3046
+ _body_params: Optional[bytes] = None
3047
+
3048
+ # process the path parameters
3049
+ if group_id is not None:
3050
+ _path_params['group_id'] = group_id
3051
+ # process the query parameters
3052
+ # process the header parameters
3053
+ # process the form parameters
3054
+ # process the body parameter
3055
+
3056
+
3057
+ # set the HTTP header `Accept`
3058
+ if 'Accept' not in _header_params:
3059
+ _header_params['Accept'] = self.api_client.select_header_accept(
3060
+ [
3061
+ 'application/json'
3062
+ ]
3063
+ )
3064
+
3065
+
3066
+ # authentication setting
3067
+ _auth_settings: List[str] = [
3068
+ 'APIKeyBearer',
3069
+ 'JWTBearer'
3070
+ ]
3071
+
3072
+ return self.api_client.param_serialize(
3073
+ method='GET',
3074
+ resource_path='/api/v1/geofences/groups/{group_id}/geofences',
3075
+ path_params=_path_params,
3076
+ query_params=_query_params,
3077
+ header_params=_header_params,
3078
+ body=_body_params,
3079
+ post_params=_form_params,
3080
+ files=_files,
3081
+ auth_settings=_auth_settings,
3082
+ collection_formats=_collection_formats,
3083
+ _host=_host,
3084
+ _request_auth=_request_auth
3085
+ )
3086
+
3087
+
3088
+
3089
+
3090
+ @validate_call
3091
+ async def apps_geofences_api_test_group_point(
3092
+ self,
3093
+ group_id: StrictStr,
3094
+ test_point_request: TestPointRequest,
3095
+ _request_timeout: Union[
3096
+ None,
3097
+ Annotated[StrictFloat, Field(gt=0)],
3098
+ Tuple[
3099
+ Annotated[StrictFloat, Field(gt=0)],
3100
+ Annotated[StrictFloat, Field(gt=0)]
3101
+ ]
3102
+ ] = None,
3103
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
3104
+ _content_type: Optional[StrictStr] = None,
3105
+ _headers: Optional[Dict[StrictStr, Any]] = None,
3106
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3107
+ ) -> Dict[str, object]:
3108
+ """Test Group Point
3109
+
3110
+ Test a point against all geofences in a group.
3111
+
3112
+ :param group_id: (required)
3113
+ :type group_id: str
3114
+ :param test_point_request: (required)
3115
+ :type test_point_request: TestPointRequest
3116
+ :param _request_timeout: timeout setting for this request. If one
3117
+ number provided, it will be total request
3118
+ timeout. It can also be a pair (tuple) of
3119
+ (connection, read) timeouts.
3120
+ :type _request_timeout: int, tuple(int, int), optional
3121
+ :param _request_auth: set to override the auth_settings for an a single
3122
+ request; this effectively ignores the
3123
+ authentication in the spec for a single request.
3124
+ :type _request_auth: dict, optional
3125
+ :param _content_type: force content-type for the request.
3126
+ :type _content_type: str, Optional
3127
+ :param _headers: set to override the headers for a single
3128
+ request; this effectively ignores the headers
3129
+ in the spec for a single request.
3130
+ :type _headers: dict, optional
3131
+ :param _host_index: set to override the host_index for a single
3132
+ request; this effectively ignores the host_index
3133
+ in the spec for a single request.
3134
+ :type _host_index: int, optional
3135
+ :return: Returns the result object.
3136
+ """ # noqa: E501
3137
+
3138
+ _param = self._apps_geofences_api_test_group_point_serialize(
3139
+ group_id=group_id,
3140
+ test_point_request=test_point_request,
3141
+ _request_auth=_request_auth,
3142
+ _content_type=_content_type,
3143
+ _headers=_headers,
3144
+ _host_index=_host_index
3145
+ )
3146
+
3147
+ _response_types_map: Dict[str, Optional[str]] = {
3148
+ '200': "Dict[str, object]",
3149
+ }
3150
+ response_data = await self.api_client.call_api(
3151
+ *_param,
3152
+ _request_timeout=_request_timeout
3153
+ )
3154
+ await response_data.read()
3155
+ return self.api_client.response_deserialize(
3156
+ response_data=response_data,
3157
+ response_types_map=_response_types_map,
3158
+ ).data
3159
+
3160
+
3161
+ @validate_call
3162
+ async def apps_geofences_api_test_group_point_with_http_info(
3163
+ self,
3164
+ group_id: StrictStr,
3165
+ test_point_request: TestPointRequest,
3166
+ _request_timeout: Union[
3167
+ None,
3168
+ Annotated[StrictFloat, Field(gt=0)],
3169
+ Tuple[
3170
+ Annotated[StrictFloat, Field(gt=0)],
3171
+ Annotated[StrictFloat, Field(gt=0)]
3172
+ ]
3173
+ ] = None,
3174
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
3175
+ _content_type: Optional[StrictStr] = None,
3176
+ _headers: Optional[Dict[StrictStr, Any]] = None,
3177
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3178
+ ) -> ApiResponse[Dict[str, object]]:
3179
+ """Test Group Point
3180
+
3181
+ Test a point against all geofences in a group.
3182
+
3183
+ :param group_id: (required)
3184
+ :type group_id: str
3185
+ :param test_point_request: (required)
3186
+ :type test_point_request: TestPointRequest
3187
+ :param _request_timeout: timeout setting for this request. If one
3188
+ number provided, it will be total request
3189
+ timeout. It can also be a pair (tuple) of
3190
+ (connection, read) timeouts.
3191
+ :type _request_timeout: int, tuple(int, int), optional
3192
+ :param _request_auth: set to override the auth_settings for an a single
3193
+ request; this effectively ignores the
3194
+ authentication in the spec for a single request.
3195
+ :type _request_auth: dict, optional
3196
+ :param _content_type: force content-type for the request.
3197
+ :type _content_type: str, Optional
3198
+ :param _headers: set to override the headers for a single
3199
+ request; this effectively ignores the headers
3200
+ in the spec for a single request.
3201
+ :type _headers: dict, optional
3202
+ :param _host_index: set to override the host_index for a single
3203
+ request; this effectively ignores the host_index
3204
+ in the spec for a single request.
3205
+ :type _host_index: int, optional
3206
+ :return: Returns the result object.
3207
+ """ # noqa: E501
3208
+
3209
+ _param = self._apps_geofences_api_test_group_point_serialize(
3210
+ group_id=group_id,
3211
+ test_point_request=test_point_request,
3212
+ _request_auth=_request_auth,
3213
+ _content_type=_content_type,
3214
+ _headers=_headers,
3215
+ _host_index=_host_index
3216
+ )
3217
+
3218
+ _response_types_map: Dict[str, Optional[str]] = {
3219
+ '200': "Dict[str, object]",
3220
+ }
3221
+ response_data = await self.api_client.call_api(
3222
+ *_param,
3223
+ _request_timeout=_request_timeout
3224
+ )
3225
+ await response_data.read()
3226
+ return self.api_client.response_deserialize(
3227
+ response_data=response_data,
3228
+ response_types_map=_response_types_map,
3229
+ )
3230
+
3231
+
3232
+ @validate_call
3233
+ async def apps_geofences_api_test_group_point_without_preload_content(
3234
+ self,
3235
+ group_id: StrictStr,
3236
+ test_point_request: TestPointRequest,
3237
+ _request_timeout: Union[
3238
+ None,
3239
+ Annotated[StrictFloat, Field(gt=0)],
3240
+ Tuple[
3241
+ Annotated[StrictFloat, Field(gt=0)],
3242
+ Annotated[StrictFloat, Field(gt=0)]
3243
+ ]
3244
+ ] = None,
3245
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
3246
+ _content_type: Optional[StrictStr] = None,
3247
+ _headers: Optional[Dict[StrictStr, Any]] = None,
3248
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3249
+ ) -> RESTResponseType:
3250
+ """Test Group Point
3251
+
3252
+ Test a point against all geofences in a group.
3253
+
3254
+ :param group_id: (required)
3255
+ :type group_id: str
3256
+ :param test_point_request: (required)
3257
+ :type test_point_request: TestPointRequest
3258
+ :param _request_timeout: timeout setting for this request. If one
3259
+ number provided, it will be total request
3260
+ timeout. It can also be a pair (tuple) of
3261
+ (connection, read) timeouts.
3262
+ :type _request_timeout: int, tuple(int, int), optional
3263
+ :param _request_auth: set to override the auth_settings for an a single
3264
+ request; this effectively ignores the
3265
+ authentication in the spec for a single request.
3266
+ :type _request_auth: dict, optional
3267
+ :param _content_type: force content-type for the request.
3268
+ :type _content_type: str, Optional
3269
+ :param _headers: set to override the headers for a single
3270
+ request; this effectively ignores the headers
3271
+ in the spec for a single request.
3272
+ :type _headers: dict, optional
3273
+ :param _host_index: set to override the host_index for a single
3274
+ request; this effectively ignores the host_index
3275
+ in the spec for a single request.
3276
+ :type _host_index: int, optional
3277
+ :return: Returns the result object.
3278
+ """ # noqa: E501
3279
+
3280
+ _param = self._apps_geofences_api_test_group_point_serialize(
3281
+ group_id=group_id,
3282
+ test_point_request=test_point_request,
3283
+ _request_auth=_request_auth,
3284
+ _content_type=_content_type,
3285
+ _headers=_headers,
3286
+ _host_index=_host_index
3287
+ )
3288
+
3289
+ _response_types_map: Dict[str, Optional[str]] = {
3290
+ '200': "Dict[str, object]",
3291
+ }
3292
+ response_data = await self.api_client.call_api(
3293
+ *_param,
3294
+ _request_timeout=_request_timeout
3295
+ )
3296
+ return response_data.response
3297
+
3298
+
3299
+ def _apps_geofences_api_test_group_point_serialize(
3300
+ self,
3301
+ group_id,
3302
+ test_point_request,
3303
+ _request_auth,
3304
+ _content_type,
3305
+ _headers,
3306
+ _host_index,
3307
+ ) -> RequestSerialized:
3308
+
3309
+ _host = None
3310
+
3311
+ _collection_formats: Dict[str, str] = {
3312
+ }
3313
+
3314
+ _path_params: Dict[str, str] = {}
3315
+ _query_params: List[Tuple[str, str]] = []
3316
+ _header_params: Dict[str, Optional[str]] = _headers or {}
3317
+ _form_params: List[Tuple[str, str]] = []
3318
+ _files: Dict[
3319
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
3320
+ ] = {}
3321
+ _body_params: Optional[bytes] = None
3322
+
3323
+ # process the path parameters
3324
+ if group_id is not None:
3325
+ _path_params['group_id'] = group_id
3326
+ # process the query parameters
3327
+ # process the header parameters
3328
+ # process the form parameters
3329
+ # process the body parameter
3330
+ if test_point_request is not None:
3331
+ _body_params = test_point_request
3332
+
3333
+
3334
+ # set the HTTP header `Accept`
3335
+ if 'Accept' not in _header_params:
3336
+ _header_params['Accept'] = self.api_client.select_header_accept(
3337
+ [
3338
+ 'application/json'
3339
+ ]
3340
+ )
3341
+
3342
+ # set the HTTP header `Content-Type`
3343
+ if _content_type:
3344
+ _header_params['Content-Type'] = _content_type
3345
+ else:
3346
+ _default_content_type = (
3347
+ self.api_client.select_header_content_type(
3348
+ [
3349
+ 'application/json'
3350
+ ]
3351
+ )
3352
+ )
3353
+ if _default_content_type is not None:
3354
+ _header_params['Content-Type'] = _default_content_type
3355
+
3356
+ # authentication setting
3357
+ _auth_settings: List[str] = [
3358
+ 'APIKeyBearer',
3359
+ 'JWTBearer'
3360
+ ]
3361
+
3362
+ return self.api_client.param_serialize(
3363
+ method='POST',
3364
+ resource_path='/api/v1/geofences/groups/{group_id}/test-point',
3365
+ path_params=_path_params,
3366
+ query_params=_query_params,
3367
+ header_params=_header_params,
3368
+ body=_body_params,
3369
+ post_params=_form_params,
3370
+ files=_files,
3371
+ auth_settings=_auth_settings,
3372
+ collection_formats=_collection_formats,
3373
+ _host=_host,
3374
+ _request_auth=_request_auth
3375
+ )
3376
+
3377
+
3378
+
3379
+
3380
+ @validate_call
3381
+ async def apps_geofences_api_test_point(
3382
+ self,
3383
+ test_point_request: TestPointRequest,
3384
+ _request_timeout: Union[
3385
+ None,
3386
+ Annotated[StrictFloat, Field(gt=0)],
3387
+ Tuple[
3388
+ Annotated[StrictFloat, Field(gt=0)],
3389
+ Annotated[StrictFloat, Field(gt=0)]
3390
+ ]
3391
+ ] = None,
3392
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
3393
+ _content_type: Optional[StrictStr] = None,
3394
+ _headers: Optional[Dict[StrictStr, Any]] = None,
3395
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3396
+ ) -> TestPointResponse:
3397
+ """Test Point
3398
+
3399
+ Test a point against user's geofences.
3400
+
3401
+ :param test_point_request: (required)
3402
+ :type test_point_request: TestPointRequest
3403
+ :param _request_timeout: timeout setting for this request. If one
3404
+ number provided, it will be total request
3405
+ timeout. It can also be a pair (tuple) of
3406
+ (connection, read) timeouts.
3407
+ :type _request_timeout: int, tuple(int, int), optional
3408
+ :param _request_auth: set to override the auth_settings for an a single
3409
+ request; this effectively ignores the
3410
+ authentication in the spec for a single request.
3411
+ :type _request_auth: dict, optional
3412
+ :param _content_type: force content-type for the request.
3413
+ :type _content_type: str, Optional
3414
+ :param _headers: set to override the headers for a single
3415
+ request; this effectively ignores the headers
3416
+ in the spec for a single request.
3417
+ :type _headers: dict, optional
3418
+ :param _host_index: set to override the host_index for a single
3419
+ request; this effectively ignores the host_index
3420
+ in the spec for a single request.
3421
+ :type _host_index: int, optional
3422
+ :return: Returns the result object.
3423
+ """ # noqa: E501
3424
+
3425
+ _param = self._apps_geofences_api_test_point_serialize(
3426
+ test_point_request=test_point_request,
3427
+ _request_auth=_request_auth,
3428
+ _content_type=_content_type,
3429
+ _headers=_headers,
3430
+ _host_index=_host_index
3431
+ )
3432
+
3433
+ _response_types_map: Dict[str, Optional[str]] = {
3434
+ '200': "TestPointResponse",
3435
+ '400': "ErrorResponse",
3436
+ '401': "ErrorResponse",
3437
+ '429': "RateLimitResponse",
3438
+ '500': "ErrorResponse",
3439
+ '501': "ErrorResponse",
3440
+ '502': "ErrorResponse",
3441
+ '503': "ErrorResponse",
3442
+ '504': "ErrorResponse",
3443
+ }
3444
+ response_data = await self.api_client.call_api(
3445
+ *_param,
3446
+ _request_timeout=_request_timeout
3447
+ )
3448
+ await response_data.read()
3449
+ return self.api_client.response_deserialize(
3450
+ response_data=response_data,
3451
+ response_types_map=_response_types_map,
3452
+ ).data
3453
+
3454
+
3455
+ @validate_call
3456
+ async def apps_geofences_api_test_point_with_http_info(
3457
+ self,
3458
+ test_point_request: TestPointRequest,
3459
+ _request_timeout: Union[
3460
+ None,
3461
+ Annotated[StrictFloat, Field(gt=0)],
3462
+ Tuple[
3463
+ Annotated[StrictFloat, Field(gt=0)],
3464
+ Annotated[StrictFloat, Field(gt=0)]
3465
+ ]
3466
+ ] = None,
3467
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
3468
+ _content_type: Optional[StrictStr] = None,
3469
+ _headers: Optional[Dict[StrictStr, Any]] = None,
3470
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3471
+ ) -> ApiResponse[TestPointResponse]:
3472
+ """Test Point
3473
+
3474
+ Test a point against user's geofences.
3475
+
3476
+ :param test_point_request: (required)
3477
+ :type test_point_request: TestPointRequest
3478
+ :param _request_timeout: timeout setting for this request. If one
3479
+ number provided, it will be total request
3480
+ timeout. It can also be a pair (tuple) of
3481
+ (connection, read) timeouts.
3482
+ :type _request_timeout: int, tuple(int, int), optional
3483
+ :param _request_auth: set to override the auth_settings for an a single
3484
+ request; this effectively ignores the
3485
+ authentication in the spec for a single request.
3486
+ :type _request_auth: dict, optional
3487
+ :param _content_type: force content-type for the request.
3488
+ :type _content_type: str, Optional
3489
+ :param _headers: set to override the headers for a single
3490
+ request; this effectively ignores the headers
3491
+ in the spec for a single request.
3492
+ :type _headers: dict, optional
3493
+ :param _host_index: set to override the host_index for a single
3494
+ request; this effectively ignores the host_index
3495
+ in the spec for a single request.
3496
+ :type _host_index: int, optional
3497
+ :return: Returns the result object.
3498
+ """ # noqa: E501
3499
+
3500
+ _param = self._apps_geofences_api_test_point_serialize(
3501
+ test_point_request=test_point_request,
3502
+ _request_auth=_request_auth,
3503
+ _content_type=_content_type,
3504
+ _headers=_headers,
3505
+ _host_index=_host_index
3506
+ )
3507
+
3508
+ _response_types_map: Dict[str, Optional[str]] = {
3509
+ '200': "TestPointResponse",
3510
+ '400': "ErrorResponse",
3511
+ '401': "ErrorResponse",
3512
+ '429': "RateLimitResponse",
3513
+ '500': "ErrorResponse",
3514
+ '501': "ErrorResponse",
3515
+ '502': "ErrorResponse",
3516
+ '503': "ErrorResponse",
3517
+ '504': "ErrorResponse",
3518
+ }
3519
+ response_data = await self.api_client.call_api(
3520
+ *_param,
3521
+ _request_timeout=_request_timeout
3522
+ )
3523
+ await response_data.read()
3524
+ return self.api_client.response_deserialize(
3525
+ response_data=response_data,
3526
+ response_types_map=_response_types_map,
3527
+ )
3528
+
3529
+
3530
+ @validate_call
3531
+ async def apps_geofences_api_test_point_without_preload_content(
3532
+ self,
3533
+ test_point_request: TestPointRequest,
3534
+ _request_timeout: Union[
3535
+ None,
3536
+ Annotated[StrictFloat, Field(gt=0)],
3537
+ Tuple[
3538
+ Annotated[StrictFloat, Field(gt=0)],
3539
+ Annotated[StrictFloat, Field(gt=0)]
3540
+ ]
3541
+ ] = None,
3542
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
3543
+ _content_type: Optional[StrictStr] = None,
3544
+ _headers: Optional[Dict[StrictStr, Any]] = None,
3545
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3546
+ ) -> RESTResponseType:
3547
+ """Test Point
3548
+
3549
+ Test a point against user's geofences.
3550
+
3551
+ :param test_point_request: (required)
3552
+ :type test_point_request: TestPointRequest
3553
+ :param _request_timeout: timeout setting for this request. If one
3554
+ number provided, it will be total request
3555
+ timeout. It can also be a pair (tuple) of
3556
+ (connection, read) timeouts.
3557
+ :type _request_timeout: int, tuple(int, int), optional
3558
+ :param _request_auth: set to override the auth_settings for an a single
3559
+ request; this effectively ignores the
3560
+ authentication in the spec for a single request.
3561
+ :type _request_auth: dict, optional
3562
+ :param _content_type: force content-type for the request.
3563
+ :type _content_type: str, Optional
3564
+ :param _headers: set to override the headers for a single
3565
+ request; this effectively ignores the headers
3566
+ in the spec for a single request.
3567
+ :type _headers: dict, optional
3568
+ :param _host_index: set to override the host_index for a single
3569
+ request; this effectively ignores the host_index
3570
+ in the spec for a single request.
3571
+ :type _host_index: int, optional
3572
+ :return: Returns the result object.
3573
+ """ # noqa: E501
3574
+
3575
+ _param = self._apps_geofences_api_test_point_serialize(
3576
+ test_point_request=test_point_request,
3577
+ _request_auth=_request_auth,
3578
+ _content_type=_content_type,
3579
+ _headers=_headers,
3580
+ _host_index=_host_index
3581
+ )
3582
+
3583
+ _response_types_map: Dict[str, Optional[str]] = {
3584
+ '200': "TestPointResponse",
3585
+ '400': "ErrorResponse",
3586
+ '401': "ErrorResponse",
3587
+ '429': "RateLimitResponse",
3588
+ '500': "ErrorResponse",
3589
+ '501': "ErrorResponse",
3590
+ '502': "ErrorResponse",
3591
+ '503': "ErrorResponse",
3592
+ '504': "ErrorResponse",
3593
+ }
3594
+ response_data = await self.api_client.call_api(
3595
+ *_param,
3596
+ _request_timeout=_request_timeout
3597
+ )
3598
+ return response_data.response
3599
+
3600
+
3601
+ def _apps_geofences_api_test_point_serialize(
3602
+ self,
3603
+ test_point_request,
3604
+ _request_auth,
3605
+ _content_type,
3606
+ _headers,
3607
+ _host_index,
3608
+ ) -> RequestSerialized:
3609
+
3610
+ _host = None
3611
+
3612
+ _collection_formats: Dict[str, str] = {
3613
+ }
3614
+
3615
+ _path_params: Dict[str, str] = {}
3616
+ _query_params: List[Tuple[str, str]] = []
3617
+ _header_params: Dict[str, Optional[str]] = _headers or {}
3618
+ _form_params: List[Tuple[str, str]] = []
3619
+ _files: Dict[
3620
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
3621
+ ] = {}
3622
+ _body_params: Optional[bytes] = None
3623
+
3624
+ # process the path parameters
3625
+ # process the query parameters
3626
+ # process the header parameters
3627
+ # process the form parameters
3628
+ # process the body parameter
3629
+ if test_point_request is not None:
3630
+ _body_params = test_point_request
3631
+
3632
+
3633
+ # set the HTTP header `Accept`
3634
+ if 'Accept' not in _header_params:
3635
+ _header_params['Accept'] = self.api_client.select_header_accept(
3636
+ [
3637
+ 'application/json'
3638
+ ]
3639
+ )
3640
+
3641
+ # set the HTTP header `Content-Type`
3642
+ if _content_type:
3643
+ _header_params['Content-Type'] = _content_type
3644
+ else:
3645
+ _default_content_type = (
3646
+ self.api_client.select_header_content_type(
3647
+ [
3648
+ 'application/json'
3649
+ ]
3650
+ )
3651
+ )
3652
+ if _default_content_type is not None:
3653
+ _header_params['Content-Type'] = _default_content_type
3654
+
3655
+ # authentication setting
3656
+ _auth_settings: List[str] = [
3657
+ 'APIKeyBearer',
3658
+ 'JWTBearer'
3659
+ ]
3660
+
3661
+ return self.api_client.param_serialize(
3662
+ method='POST',
3663
+ resource_path='/api/v1/geofences/test-point',
3664
+ path_params=_path_params,
3665
+ query_params=_query_params,
3666
+ header_params=_header_params,
3667
+ body=_body_params,
3668
+ post_params=_form_params,
3669
+ files=_files,
3670
+ auth_settings=_auth_settings,
3671
+ collection_formats=_collection_formats,
3672
+ _host=_host,
3673
+ _request_auth=_request_auth
3674
+ )
3675
+
3676
+
3677
+
3678
+
3679
+ @validate_call
3680
+ async def apps_geofences_api_trigger_test_event(
3681
+ self,
3682
+ geofence_id: StrictStr,
3683
+ event_type: StrictStr,
3684
+ test_event_request: Optional[TestEventRequest] = None,
3685
+ _request_timeout: Union[
3686
+ None,
3687
+ Annotated[StrictFloat, Field(gt=0)],
3688
+ Tuple[
3689
+ Annotated[StrictFloat, Field(gt=0)],
3690
+ Annotated[StrictFloat, Field(gt=0)]
3691
+ ]
3692
+ ] = None,
3693
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
3694
+ _content_type: Optional[StrictStr] = None,
3695
+ _headers: Optional[Dict[StrictStr, Any]] = None,
3696
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3697
+ ) -> Dict[str, object]:
3698
+ """Trigger Test Event
3699
+
3700
+ Trigger a simulated test event for a geofence. This allows users to test their webhooks and workflows without physically entering or exiting the geofence. Args: geofence_id: ID of the geofence event_type: Type of event to simulate ('enter' or 'exit') test_metadata: Optional metadata to include in the test event Returns: Test event details including triggered webhooks and workflows
3701
+
3702
+ :param geofence_id: (required)
3703
+ :type geofence_id: str
3704
+ :param event_type: (required)
3705
+ :type event_type: str
3706
+ :param test_event_request:
3707
+ :type test_event_request: TestEventRequest
3708
+ :param _request_timeout: timeout setting for this request. If one
3709
+ number provided, it will be total request
3710
+ timeout. It can also be a pair (tuple) of
3711
+ (connection, read) timeouts.
3712
+ :type _request_timeout: int, tuple(int, int), optional
3713
+ :param _request_auth: set to override the auth_settings for an a single
3714
+ request; this effectively ignores the
3715
+ authentication in the spec for a single request.
3716
+ :type _request_auth: dict, optional
3717
+ :param _content_type: force content-type for the request.
3718
+ :type _content_type: str, Optional
3719
+ :param _headers: set to override the headers for a single
3720
+ request; this effectively ignores the headers
3721
+ in the spec for a single request.
3722
+ :type _headers: dict, optional
3723
+ :param _host_index: set to override the host_index for a single
3724
+ request; this effectively ignores the host_index
3725
+ in the spec for a single request.
3726
+ :type _host_index: int, optional
3727
+ :return: Returns the result object.
3728
+ """ # noqa: E501
3729
+
3730
+ _param = self._apps_geofences_api_trigger_test_event_serialize(
3731
+ geofence_id=geofence_id,
3732
+ event_type=event_type,
3733
+ test_event_request=test_event_request,
3734
+ _request_auth=_request_auth,
3735
+ _content_type=_content_type,
3736
+ _headers=_headers,
3737
+ _host_index=_host_index
3738
+ )
3739
+
3740
+ _response_types_map: Dict[str, Optional[str]] = {
3741
+ '200': "Dict[str, object]",
3742
+ '400': "ErrorResponse",
3743
+ '401': "ErrorResponse",
3744
+ '404': "ErrorResponse",
3745
+ '500': "ErrorResponse",
3746
+ '501': "ErrorResponse",
3747
+ '502': "ErrorResponse",
3748
+ '503': "ErrorResponse",
3749
+ '504': "ErrorResponse",
3750
+ }
3751
+ response_data = await self.api_client.call_api(
3752
+ *_param,
3753
+ _request_timeout=_request_timeout
3754
+ )
3755
+ await response_data.read()
3756
+ return self.api_client.response_deserialize(
3757
+ response_data=response_data,
3758
+ response_types_map=_response_types_map,
3759
+ ).data
3760
+
3761
+
3762
+ @validate_call
3763
+ async def apps_geofences_api_trigger_test_event_with_http_info(
3764
+ self,
3765
+ geofence_id: StrictStr,
3766
+ event_type: StrictStr,
3767
+ test_event_request: Optional[TestEventRequest] = None,
3768
+ _request_timeout: Union[
3769
+ None,
3770
+ Annotated[StrictFloat, Field(gt=0)],
3771
+ Tuple[
3772
+ Annotated[StrictFloat, Field(gt=0)],
3773
+ Annotated[StrictFloat, Field(gt=0)]
3774
+ ]
3775
+ ] = None,
3776
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
3777
+ _content_type: Optional[StrictStr] = None,
3778
+ _headers: Optional[Dict[StrictStr, Any]] = None,
3779
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3780
+ ) -> ApiResponse[Dict[str, object]]:
3781
+ """Trigger Test Event
3782
+
3783
+ Trigger a simulated test event for a geofence. This allows users to test their webhooks and workflows without physically entering or exiting the geofence. Args: geofence_id: ID of the geofence event_type: Type of event to simulate ('enter' or 'exit') test_metadata: Optional metadata to include in the test event Returns: Test event details including triggered webhooks and workflows
3784
+
3785
+ :param geofence_id: (required)
3786
+ :type geofence_id: str
3787
+ :param event_type: (required)
3788
+ :type event_type: str
3789
+ :param test_event_request:
3790
+ :type test_event_request: TestEventRequest
3791
+ :param _request_timeout: timeout setting for this request. If one
3792
+ number provided, it will be total request
3793
+ timeout. It can also be a pair (tuple) of
3794
+ (connection, read) timeouts.
3795
+ :type _request_timeout: int, tuple(int, int), optional
3796
+ :param _request_auth: set to override the auth_settings for an a single
3797
+ request; this effectively ignores the
3798
+ authentication in the spec for a single request.
3799
+ :type _request_auth: dict, optional
3800
+ :param _content_type: force content-type for the request.
3801
+ :type _content_type: str, Optional
3802
+ :param _headers: set to override the headers for a single
3803
+ request; this effectively ignores the headers
3804
+ in the spec for a single request.
3805
+ :type _headers: dict, optional
3806
+ :param _host_index: set to override the host_index for a single
3807
+ request; this effectively ignores the host_index
3808
+ in the spec for a single request.
3809
+ :type _host_index: int, optional
3810
+ :return: Returns the result object.
3811
+ """ # noqa: E501
3812
+
3813
+ _param = self._apps_geofences_api_trigger_test_event_serialize(
3814
+ geofence_id=geofence_id,
3815
+ event_type=event_type,
3816
+ test_event_request=test_event_request,
3817
+ _request_auth=_request_auth,
3818
+ _content_type=_content_type,
3819
+ _headers=_headers,
3820
+ _host_index=_host_index
3821
+ )
3822
+
3823
+ _response_types_map: Dict[str, Optional[str]] = {
3824
+ '200': "Dict[str, object]",
3825
+ '400': "ErrorResponse",
3826
+ '401': "ErrorResponse",
3827
+ '404': "ErrorResponse",
3828
+ '500': "ErrorResponse",
3829
+ '501': "ErrorResponse",
3830
+ '502': "ErrorResponse",
3831
+ '503': "ErrorResponse",
3832
+ '504': "ErrorResponse",
3833
+ }
3834
+ response_data = await self.api_client.call_api(
3835
+ *_param,
3836
+ _request_timeout=_request_timeout
3837
+ )
3838
+ await response_data.read()
3839
+ return self.api_client.response_deserialize(
3840
+ response_data=response_data,
3841
+ response_types_map=_response_types_map,
3842
+ )
3843
+
3844
+
3845
+ @validate_call
3846
+ async def apps_geofences_api_trigger_test_event_without_preload_content(
3847
+ self,
3848
+ geofence_id: StrictStr,
3849
+ event_type: StrictStr,
3850
+ test_event_request: Optional[TestEventRequest] = None,
3851
+ _request_timeout: Union[
3852
+ None,
3853
+ Annotated[StrictFloat, Field(gt=0)],
3854
+ Tuple[
3855
+ Annotated[StrictFloat, Field(gt=0)],
3856
+ Annotated[StrictFloat, Field(gt=0)]
3857
+ ]
3858
+ ] = None,
3859
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
3860
+ _content_type: Optional[StrictStr] = None,
3861
+ _headers: Optional[Dict[StrictStr, Any]] = None,
3862
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3863
+ ) -> RESTResponseType:
3864
+ """Trigger Test Event
3865
+
3866
+ Trigger a simulated test event for a geofence. This allows users to test their webhooks and workflows without physically entering or exiting the geofence. Args: geofence_id: ID of the geofence event_type: Type of event to simulate ('enter' or 'exit') test_metadata: Optional metadata to include in the test event Returns: Test event details including triggered webhooks and workflows
3867
+
3868
+ :param geofence_id: (required)
3869
+ :type geofence_id: str
3870
+ :param event_type: (required)
3871
+ :type event_type: str
3872
+ :param test_event_request:
3873
+ :type test_event_request: TestEventRequest
3874
+ :param _request_timeout: timeout setting for this request. If one
3875
+ number provided, it will be total request
3876
+ timeout. It can also be a pair (tuple) of
3877
+ (connection, read) timeouts.
3878
+ :type _request_timeout: int, tuple(int, int), optional
3879
+ :param _request_auth: set to override the auth_settings for an a single
3880
+ request; this effectively ignores the
3881
+ authentication in the spec for a single request.
3882
+ :type _request_auth: dict, optional
3883
+ :param _content_type: force content-type for the request.
3884
+ :type _content_type: str, Optional
3885
+ :param _headers: set to override the headers for a single
3886
+ request; this effectively ignores the headers
3887
+ in the spec for a single request.
3888
+ :type _headers: dict, optional
3889
+ :param _host_index: set to override the host_index for a single
3890
+ request; this effectively ignores the host_index
3891
+ in the spec for a single request.
3892
+ :type _host_index: int, optional
3893
+ :return: Returns the result object.
3894
+ """ # noqa: E501
3895
+
3896
+ _param = self._apps_geofences_api_trigger_test_event_serialize(
3897
+ geofence_id=geofence_id,
3898
+ event_type=event_type,
3899
+ test_event_request=test_event_request,
3900
+ _request_auth=_request_auth,
3901
+ _content_type=_content_type,
3902
+ _headers=_headers,
3903
+ _host_index=_host_index
3904
+ )
3905
+
3906
+ _response_types_map: Dict[str, Optional[str]] = {
3907
+ '200': "Dict[str, object]",
3908
+ '400': "ErrorResponse",
3909
+ '401': "ErrorResponse",
3910
+ '404': "ErrorResponse",
3911
+ '500': "ErrorResponse",
3912
+ '501': "ErrorResponse",
3913
+ '502': "ErrorResponse",
3914
+ '503': "ErrorResponse",
3915
+ '504': "ErrorResponse",
3916
+ }
3917
+ response_data = await self.api_client.call_api(
3918
+ *_param,
3919
+ _request_timeout=_request_timeout
3920
+ )
3921
+ return response_data.response
3922
+
3923
+
3924
+ def _apps_geofences_api_trigger_test_event_serialize(
3925
+ self,
3926
+ geofence_id,
3927
+ event_type,
3928
+ test_event_request,
3929
+ _request_auth,
3930
+ _content_type,
3931
+ _headers,
3932
+ _host_index,
3933
+ ) -> RequestSerialized:
3934
+
3935
+ _host = None
3936
+
3937
+ _collection_formats: Dict[str, str] = {
3938
+ }
3939
+
3940
+ _path_params: Dict[str, str] = {}
3941
+ _query_params: List[Tuple[str, str]] = []
3942
+ _header_params: Dict[str, Optional[str]] = _headers or {}
3943
+ _form_params: List[Tuple[str, str]] = []
3944
+ _files: Dict[
3945
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
3946
+ ] = {}
3947
+ _body_params: Optional[bytes] = None
3948
+
3949
+ # process the path parameters
3950
+ if geofence_id is not None:
3951
+ _path_params['geofence_id'] = geofence_id
3952
+ # process the query parameters
3953
+ if event_type is not None:
3954
+
3955
+ _query_params.append(('event_type', event_type))
3956
+
3957
+ # process the header parameters
3958
+ # process the form parameters
3959
+ # process the body parameter
3960
+ if test_event_request is not None:
3961
+ _body_params = test_event_request
3962
+
3963
+
3964
+ # set the HTTP header `Accept`
3965
+ if 'Accept' not in _header_params:
3966
+ _header_params['Accept'] = self.api_client.select_header_accept(
3967
+ [
3968
+ 'application/json'
3969
+ ]
3970
+ )
3971
+
3972
+ # set the HTTP header `Content-Type`
3973
+ if _content_type:
3974
+ _header_params['Content-Type'] = _content_type
3975
+ else:
3976
+ _default_content_type = (
3977
+ self.api_client.select_header_content_type(
3978
+ [
3979
+ 'application/json'
3980
+ ]
3981
+ )
3982
+ )
3983
+ if _default_content_type is not None:
3984
+ _header_params['Content-Type'] = _default_content_type
3985
+
3986
+ # authentication setting
3987
+ _auth_settings: List[str] = [
3988
+ 'APIKeyBearer',
3989
+ 'JWTBearer'
3990
+ ]
3991
+
3992
+ return self.api_client.param_serialize(
3993
+ method='POST',
3994
+ resource_path='/api/v1/geofences/{geofence_id}/test-event',
3995
+ path_params=_path_params,
3996
+ query_params=_query_params,
3997
+ header_params=_header_params,
3998
+ body=_body_params,
3999
+ post_params=_form_params,
4000
+ files=_files,
4001
+ auth_settings=_auth_settings,
4002
+ collection_formats=_collection_formats,
4003
+ _host=_host,
4004
+ _request_auth=_request_auth
4005
+ )
4006
+
4007
+
4008
+
4009
+
4010
+ @validate_call
4011
+ async def apps_geofences_api_update_geofence(
4012
+ self,
4013
+ geofence_id: StrictStr,
4014
+ update_geofence_request: UpdateGeofenceRequest,
4015
+ _request_timeout: Union[
4016
+ None,
4017
+ Annotated[StrictFloat, Field(gt=0)],
4018
+ Tuple[
4019
+ Annotated[StrictFloat, Field(gt=0)],
4020
+ Annotated[StrictFloat, Field(gt=0)]
4021
+ ]
4022
+ ] = None,
4023
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
4024
+ _content_type: Optional[StrictStr] = None,
4025
+ _headers: Optional[Dict[StrictStr, Any]] = None,
4026
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
4027
+ ) -> GeofenceResponse:
4028
+ """Update Geofence
4029
+
4030
+ Update existing polygon geofence.
4031
+
4032
+ :param geofence_id: (required)
4033
+ :type geofence_id: str
4034
+ :param update_geofence_request: (required)
4035
+ :type update_geofence_request: UpdateGeofenceRequest
4036
+ :param _request_timeout: timeout setting for this request. If one
4037
+ number provided, it will be total request
4038
+ timeout. It can also be a pair (tuple) of
4039
+ (connection, read) timeouts.
4040
+ :type _request_timeout: int, tuple(int, int), optional
4041
+ :param _request_auth: set to override the auth_settings for an a single
4042
+ request; this effectively ignores the
4043
+ authentication in the spec for a single request.
4044
+ :type _request_auth: dict, optional
4045
+ :param _content_type: force content-type for the request.
4046
+ :type _content_type: str, Optional
4047
+ :param _headers: set to override the headers for a single
4048
+ request; this effectively ignores the headers
4049
+ in the spec for a single request.
4050
+ :type _headers: dict, optional
4051
+ :param _host_index: set to override the host_index for a single
4052
+ request; this effectively ignores the host_index
4053
+ in the spec for a single request.
4054
+ :type _host_index: int, optional
4055
+ :return: Returns the result object.
4056
+ """ # noqa: E501
4057
+
4058
+ _param = self._apps_geofences_api_update_geofence_serialize(
4059
+ geofence_id=geofence_id,
4060
+ update_geofence_request=update_geofence_request,
4061
+ _request_auth=_request_auth,
4062
+ _content_type=_content_type,
4063
+ _headers=_headers,
4064
+ _host_index=_host_index
4065
+ )
4066
+
4067
+ _response_types_map: Dict[str, Optional[str]] = {
4068
+ '200': "GeofenceResponse",
4069
+ '400': "ErrorResponse",
4070
+ '401': "ErrorResponse",
4071
+ '404': "ErrorResponse",
4072
+ '500': "ErrorResponse",
4073
+ '501': "ErrorResponse",
4074
+ '502': "ErrorResponse",
4075
+ '503': "ErrorResponse",
4076
+ '504': "ErrorResponse",
4077
+ }
4078
+ response_data = await self.api_client.call_api(
4079
+ *_param,
4080
+ _request_timeout=_request_timeout
4081
+ )
4082
+ await response_data.read()
4083
+ return self.api_client.response_deserialize(
4084
+ response_data=response_data,
4085
+ response_types_map=_response_types_map,
4086
+ ).data
4087
+
4088
+
4089
+ @validate_call
4090
+ async def apps_geofences_api_update_geofence_with_http_info(
4091
+ self,
4092
+ geofence_id: StrictStr,
4093
+ update_geofence_request: UpdateGeofenceRequest,
4094
+ _request_timeout: Union[
4095
+ None,
4096
+ Annotated[StrictFloat, Field(gt=0)],
4097
+ Tuple[
4098
+ Annotated[StrictFloat, Field(gt=0)],
4099
+ Annotated[StrictFloat, Field(gt=0)]
4100
+ ]
4101
+ ] = None,
4102
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
4103
+ _content_type: Optional[StrictStr] = None,
4104
+ _headers: Optional[Dict[StrictStr, Any]] = None,
4105
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
4106
+ ) -> ApiResponse[GeofenceResponse]:
4107
+ """Update Geofence
4108
+
4109
+ Update existing polygon geofence.
4110
+
4111
+ :param geofence_id: (required)
4112
+ :type geofence_id: str
4113
+ :param update_geofence_request: (required)
4114
+ :type update_geofence_request: UpdateGeofenceRequest
4115
+ :param _request_timeout: timeout setting for this request. If one
4116
+ number provided, it will be total request
4117
+ timeout. It can also be a pair (tuple) of
4118
+ (connection, read) timeouts.
4119
+ :type _request_timeout: int, tuple(int, int), optional
4120
+ :param _request_auth: set to override the auth_settings for an a single
4121
+ request; this effectively ignores the
4122
+ authentication in the spec for a single request.
4123
+ :type _request_auth: dict, optional
4124
+ :param _content_type: force content-type for the request.
4125
+ :type _content_type: str, Optional
4126
+ :param _headers: set to override the headers for a single
4127
+ request; this effectively ignores the headers
4128
+ in the spec for a single request.
4129
+ :type _headers: dict, optional
4130
+ :param _host_index: set to override the host_index for a single
4131
+ request; this effectively ignores the host_index
4132
+ in the spec for a single request.
4133
+ :type _host_index: int, optional
4134
+ :return: Returns the result object.
4135
+ """ # noqa: E501
4136
+
4137
+ _param = self._apps_geofences_api_update_geofence_serialize(
4138
+ geofence_id=geofence_id,
4139
+ update_geofence_request=update_geofence_request,
4140
+ _request_auth=_request_auth,
4141
+ _content_type=_content_type,
4142
+ _headers=_headers,
4143
+ _host_index=_host_index
4144
+ )
4145
+
4146
+ _response_types_map: Dict[str, Optional[str]] = {
4147
+ '200': "GeofenceResponse",
4148
+ '400': "ErrorResponse",
4149
+ '401': "ErrorResponse",
4150
+ '404': "ErrorResponse",
4151
+ '500': "ErrorResponse",
4152
+ '501': "ErrorResponse",
4153
+ '502': "ErrorResponse",
4154
+ '503': "ErrorResponse",
4155
+ '504': "ErrorResponse",
4156
+ }
4157
+ response_data = await self.api_client.call_api(
4158
+ *_param,
4159
+ _request_timeout=_request_timeout
4160
+ )
4161
+ await response_data.read()
4162
+ return self.api_client.response_deserialize(
4163
+ response_data=response_data,
4164
+ response_types_map=_response_types_map,
4165
+ )
4166
+
4167
+
4168
+ @validate_call
4169
+ async def apps_geofences_api_update_geofence_without_preload_content(
4170
+ self,
4171
+ geofence_id: StrictStr,
4172
+ update_geofence_request: UpdateGeofenceRequest,
4173
+ _request_timeout: Union[
4174
+ None,
4175
+ Annotated[StrictFloat, Field(gt=0)],
4176
+ Tuple[
4177
+ Annotated[StrictFloat, Field(gt=0)],
4178
+ Annotated[StrictFloat, Field(gt=0)]
4179
+ ]
4180
+ ] = None,
4181
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
4182
+ _content_type: Optional[StrictStr] = None,
4183
+ _headers: Optional[Dict[StrictStr, Any]] = None,
4184
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
4185
+ ) -> RESTResponseType:
4186
+ """Update Geofence
4187
+
4188
+ Update existing polygon geofence.
4189
+
4190
+ :param geofence_id: (required)
4191
+ :type geofence_id: str
4192
+ :param update_geofence_request: (required)
4193
+ :type update_geofence_request: UpdateGeofenceRequest
4194
+ :param _request_timeout: timeout setting for this request. If one
4195
+ number provided, it will be total request
4196
+ timeout. It can also be a pair (tuple) of
4197
+ (connection, read) timeouts.
4198
+ :type _request_timeout: int, tuple(int, int), optional
4199
+ :param _request_auth: set to override the auth_settings for an a single
4200
+ request; this effectively ignores the
4201
+ authentication in the spec for a single request.
4202
+ :type _request_auth: dict, optional
4203
+ :param _content_type: force content-type for the request.
4204
+ :type _content_type: str, Optional
4205
+ :param _headers: set to override the headers for a single
4206
+ request; this effectively ignores the headers
4207
+ in the spec for a single request.
4208
+ :type _headers: dict, optional
4209
+ :param _host_index: set to override the host_index for a single
4210
+ request; this effectively ignores the host_index
4211
+ in the spec for a single request.
4212
+ :type _host_index: int, optional
4213
+ :return: Returns the result object.
4214
+ """ # noqa: E501
4215
+
4216
+ _param = self._apps_geofences_api_update_geofence_serialize(
4217
+ geofence_id=geofence_id,
4218
+ update_geofence_request=update_geofence_request,
4219
+ _request_auth=_request_auth,
4220
+ _content_type=_content_type,
4221
+ _headers=_headers,
4222
+ _host_index=_host_index
4223
+ )
4224
+
4225
+ _response_types_map: Dict[str, Optional[str]] = {
4226
+ '200': "GeofenceResponse",
4227
+ '400': "ErrorResponse",
4228
+ '401': "ErrorResponse",
4229
+ '404': "ErrorResponse",
4230
+ '500': "ErrorResponse",
4231
+ '501': "ErrorResponse",
4232
+ '502': "ErrorResponse",
4233
+ '503': "ErrorResponse",
4234
+ '504': "ErrorResponse",
4235
+ }
4236
+ response_data = await self.api_client.call_api(
4237
+ *_param,
4238
+ _request_timeout=_request_timeout
4239
+ )
4240
+ return response_data.response
4241
+
4242
+
4243
+ def _apps_geofences_api_update_geofence_serialize(
4244
+ self,
4245
+ geofence_id,
4246
+ update_geofence_request,
4247
+ _request_auth,
4248
+ _content_type,
4249
+ _headers,
4250
+ _host_index,
4251
+ ) -> RequestSerialized:
4252
+
4253
+ _host = None
4254
+
4255
+ _collection_formats: Dict[str, str] = {
4256
+ }
4257
+
4258
+ _path_params: Dict[str, str] = {}
4259
+ _query_params: List[Tuple[str, str]] = []
4260
+ _header_params: Dict[str, Optional[str]] = _headers or {}
4261
+ _form_params: List[Tuple[str, str]] = []
4262
+ _files: Dict[
4263
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
4264
+ ] = {}
4265
+ _body_params: Optional[bytes] = None
4266
+
4267
+ # process the path parameters
4268
+ if geofence_id is not None:
4269
+ _path_params['geofence_id'] = geofence_id
4270
+ # process the query parameters
4271
+ # process the header parameters
4272
+ # process the form parameters
4273
+ # process the body parameter
4274
+ if update_geofence_request is not None:
4275
+ _body_params = update_geofence_request
4276
+
4277
+
4278
+ # set the HTTP header `Accept`
4279
+ if 'Accept' not in _header_params:
4280
+ _header_params['Accept'] = self.api_client.select_header_accept(
4281
+ [
4282
+ 'application/json'
4283
+ ]
4284
+ )
4285
+
4286
+ # set the HTTP header `Content-Type`
4287
+ if _content_type:
4288
+ _header_params['Content-Type'] = _content_type
4289
+ else:
4290
+ _default_content_type = (
4291
+ self.api_client.select_header_content_type(
4292
+ [
4293
+ 'application/json'
4294
+ ]
4295
+ )
4296
+ )
4297
+ if _default_content_type is not None:
4298
+ _header_params['Content-Type'] = _default_content_type
4299
+
4300
+ # authentication setting
4301
+ _auth_settings: List[str] = [
4302
+ 'APIKeyBearer',
4303
+ 'JWTBearer'
4304
+ ]
4305
+
4306
+ return self.api_client.param_serialize(
4307
+ method='PUT',
4308
+ resource_path='/api/v1/geofences/{geofence_id}',
4309
+ path_params=_path_params,
4310
+ query_params=_query_params,
4311
+ header_params=_header_params,
4312
+ body=_body_params,
4313
+ post_params=_form_params,
4314
+ files=_files,
4315
+ auth_settings=_auth_settings,
4316
+ collection_formats=_collection_formats,
4317
+ _host=_host,
4318
+ _request_auth=_request_auth
4319
+ )
4320
+
4321
+
4322
+
4323
+
4324
+ @validate_call
4325
+ async def apps_geofences_api_update_geofence_group(
4326
+ self,
4327
+ geofence_id: StrictStr,
4328
+ group_name: Optional[StrictStr] = None,
4329
+ _request_timeout: Union[
4330
+ None,
4331
+ Annotated[StrictFloat, Field(gt=0)],
4332
+ Tuple[
4333
+ Annotated[StrictFloat, Field(gt=0)],
4334
+ Annotated[StrictFloat, Field(gt=0)]
4335
+ ]
4336
+ ] = None,
4337
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
4338
+ _content_type: Optional[StrictStr] = None,
4339
+ _headers: Optional[Dict[StrictStr, Any]] = None,
4340
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
4341
+ ) -> Dict[str, object]:
4342
+ """Update Geofence Group
4343
+
4344
+ Assign or update a geofence's group.
4345
+
4346
+ :param geofence_id: (required)
4347
+ :type geofence_id: str
4348
+ :param group_name:
4349
+ :type group_name: str
4350
+ :param _request_timeout: timeout setting for this request. If one
4351
+ number provided, it will be total request
4352
+ timeout. It can also be a pair (tuple) of
4353
+ (connection, read) timeouts.
4354
+ :type _request_timeout: int, tuple(int, int), optional
4355
+ :param _request_auth: set to override the auth_settings for an a single
4356
+ request; this effectively ignores the
4357
+ authentication in the spec for a single request.
4358
+ :type _request_auth: dict, optional
4359
+ :param _content_type: force content-type for the request.
4360
+ :type _content_type: str, Optional
4361
+ :param _headers: set to override the headers for a single
4362
+ request; this effectively ignores the headers
4363
+ in the spec for a single request.
4364
+ :type _headers: dict, optional
4365
+ :param _host_index: set to override the host_index for a single
4366
+ request; this effectively ignores the host_index
4367
+ in the spec for a single request.
4368
+ :type _host_index: int, optional
4369
+ :return: Returns the result object.
4370
+ """ # noqa: E501
4371
+
4372
+ _param = self._apps_geofences_api_update_geofence_group_serialize(
4373
+ geofence_id=geofence_id,
4374
+ group_name=group_name,
4375
+ _request_auth=_request_auth,
4376
+ _content_type=_content_type,
4377
+ _headers=_headers,
4378
+ _host_index=_host_index
4379
+ )
4380
+
4381
+ _response_types_map: Dict[str, Optional[str]] = {
4382
+ '200': "Dict[str, object]",
4383
+ }
4384
+ response_data = await self.api_client.call_api(
4385
+ *_param,
4386
+ _request_timeout=_request_timeout
4387
+ )
4388
+ await response_data.read()
4389
+ return self.api_client.response_deserialize(
4390
+ response_data=response_data,
4391
+ response_types_map=_response_types_map,
4392
+ ).data
4393
+
4394
+
4395
+ @validate_call
4396
+ async def apps_geofences_api_update_geofence_group_with_http_info(
4397
+ self,
4398
+ geofence_id: StrictStr,
4399
+ group_name: Optional[StrictStr] = None,
4400
+ _request_timeout: Union[
4401
+ None,
4402
+ Annotated[StrictFloat, Field(gt=0)],
4403
+ Tuple[
4404
+ Annotated[StrictFloat, Field(gt=0)],
4405
+ Annotated[StrictFloat, Field(gt=0)]
4406
+ ]
4407
+ ] = None,
4408
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
4409
+ _content_type: Optional[StrictStr] = None,
4410
+ _headers: Optional[Dict[StrictStr, Any]] = None,
4411
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
4412
+ ) -> ApiResponse[Dict[str, object]]:
4413
+ """Update Geofence Group
4414
+
4415
+ Assign or update a geofence's group.
4416
+
4417
+ :param geofence_id: (required)
4418
+ :type geofence_id: str
4419
+ :param group_name:
4420
+ :type group_name: str
4421
+ :param _request_timeout: timeout setting for this request. If one
4422
+ number provided, it will be total request
4423
+ timeout. It can also be a pair (tuple) of
4424
+ (connection, read) timeouts.
4425
+ :type _request_timeout: int, tuple(int, int), optional
4426
+ :param _request_auth: set to override the auth_settings for an a single
4427
+ request; this effectively ignores the
4428
+ authentication in the spec for a single request.
4429
+ :type _request_auth: dict, optional
4430
+ :param _content_type: force content-type for the request.
4431
+ :type _content_type: str, Optional
4432
+ :param _headers: set to override the headers for a single
4433
+ request; this effectively ignores the headers
4434
+ in the spec for a single request.
4435
+ :type _headers: dict, optional
4436
+ :param _host_index: set to override the host_index for a single
4437
+ request; this effectively ignores the host_index
4438
+ in the spec for a single request.
4439
+ :type _host_index: int, optional
4440
+ :return: Returns the result object.
4441
+ """ # noqa: E501
4442
+
4443
+ _param = self._apps_geofences_api_update_geofence_group_serialize(
4444
+ geofence_id=geofence_id,
4445
+ group_name=group_name,
4446
+ _request_auth=_request_auth,
4447
+ _content_type=_content_type,
4448
+ _headers=_headers,
4449
+ _host_index=_host_index
4450
+ )
4451
+
4452
+ _response_types_map: Dict[str, Optional[str]] = {
4453
+ '200': "Dict[str, object]",
4454
+ }
4455
+ response_data = await self.api_client.call_api(
4456
+ *_param,
4457
+ _request_timeout=_request_timeout
4458
+ )
4459
+ await response_data.read()
4460
+ return self.api_client.response_deserialize(
4461
+ response_data=response_data,
4462
+ response_types_map=_response_types_map,
4463
+ )
4464
+
4465
+
4466
+ @validate_call
4467
+ async def apps_geofences_api_update_geofence_group_without_preload_content(
4468
+ self,
4469
+ geofence_id: StrictStr,
4470
+ group_name: Optional[StrictStr] = None,
4471
+ _request_timeout: Union[
4472
+ None,
4473
+ Annotated[StrictFloat, Field(gt=0)],
4474
+ Tuple[
4475
+ Annotated[StrictFloat, Field(gt=0)],
4476
+ Annotated[StrictFloat, Field(gt=0)]
4477
+ ]
4478
+ ] = None,
4479
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
4480
+ _content_type: Optional[StrictStr] = None,
4481
+ _headers: Optional[Dict[StrictStr, Any]] = None,
4482
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
4483
+ ) -> RESTResponseType:
4484
+ """Update Geofence Group
4485
+
4486
+ Assign or update a geofence's group.
4487
+
4488
+ :param geofence_id: (required)
4489
+ :type geofence_id: str
4490
+ :param group_name:
4491
+ :type group_name: str
4492
+ :param _request_timeout: timeout setting for this request. If one
4493
+ number provided, it will be total request
4494
+ timeout. It can also be a pair (tuple) of
4495
+ (connection, read) timeouts.
4496
+ :type _request_timeout: int, tuple(int, int), optional
4497
+ :param _request_auth: set to override the auth_settings for an a single
4498
+ request; this effectively ignores the
4499
+ authentication in the spec for a single request.
4500
+ :type _request_auth: dict, optional
4501
+ :param _content_type: force content-type for the request.
4502
+ :type _content_type: str, Optional
4503
+ :param _headers: set to override the headers for a single
4504
+ request; this effectively ignores the headers
4505
+ in the spec for a single request.
4506
+ :type _headers: dict, optional
4507
+ :param _host_index: set to override the host_index for a single
4508
+ request; this effectively ignores the host_index
4509
+ in the spec for a single request.
4510
+ :type _host_index: int, optional
4511
+ :return: Returns the result object.
4512
+ """ # noqa: E501
4513
+
4514
+ _param = self._apps_geofences_api_update_geofence_group_serialize(
4515
+ geofence_id=geofence_id,
4516
+ group_name=group_name,
4517
+ _request_auth=_request_auth,
4518
+ _content_type=_content_type,
4519
+ _headers=_headers,
4520
+ _host_index=_host_index
4521
+ )
4522
+
4523
+ _response_types_map: Dict[str, Optional[str]] = {
4524
+ '200': "Dict[str, object]",
4525
+ }
4526
+ response_data = await self.api_client.call_api(
4527
+ *_param,
4528
+ _request_timeout=_request_timeout
4529
+ )
4530
+ return response_data.response
4531
+
4532
+
4533
+ def _apps_geofences_api_update_geofence_group_serialize(
4534
+ self,
4535
+ geofence_id,
4536
+ group_name,
4537
+ _request_auth,
4538
+ _content_type,
4539
+ _headers,
4540
+ _host_index,
4541
+ ) -> RequestSerialized:
4542
+
4543
+ _host = None
4544
+
4545
+ _collection_formats: Dict[str, str] = {
4546
+ }
4547
+
4548
+ _path_params: Dict[str, str] = {}
4549
+ _query_params: List[Tuple[str, str]] = []
4550
+ _header_params: Dict[str, Optional[str]] = _headers or {}
4551
+ _form_params: List[Tuple[str, str]] = []
4552
+ _files: Dict[
4553
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
4554
+ ] = {}
4555
+ _body_params: Optional[bytes] = None
4556
+
4557
+ # process the path parameters
4558
+ if geofence_id is not None:
4559
+ _path_params['geofence_id'] = geofence_id
4560
+ # process the query parameters
4561
+ if group_name is not None:
4562
+
4563
+ _query_params.append(('group_name', group_name))
4564
+
4565
+ # process the header parameters
4566
+ # process the form parameters
4567
+ # process the body parameter
4568
+
4569
+
4570
+ # set the HTTP header `Accept`
4571
+ if 'Accept' not in _header_params:
4572
+ _header_params['Accept'] = self.api_client.select_header_accept(
4573
+ [
4574
+ 'application/json'
4575
+ ]
4576
+ )
4577
+
4578
+
4579
+ # authentication setting
4580
+ _auth_settings: List[str] = [
4581
+ 'APIKeyBearer',
4582
+ 'JWTBearer'
4583
+ ]
4584
+
4585
+ return self.api_client.param_serialize(
4586
+ method='PUT',
4587
+ resource_path='/api/v1/geofences/{geofence_id}/group',
4588
+ path_params=_path_params,
4589
+ query_params=_query_params,
4590
+ header_params=_header_params,
4591
+ body=_body_params,
4592
+ post_params=_form_params,
4593
+ files=_files,
4594
+ auth_settings=_auth_settings,
4595
+ collection_formats=_collection_formats,
4596
+ _host=_host,
4597
+ _request_auth=_request_auth
4598
+ )
4599
+
4600
+
4601
+
4602
+
4603
+ @validate_call
4604
+ async def apps_geofences_api_upload_geofences_async(
4605
+ self,
4606
+ upload_geofences_request: UploadGeofencesRequest,
4607
+ _request_timeout: Union[
4608
+ None,
4609
+ Annotated[StrictFloat, Field(gt=0)],
4610
+ Tuple[
4611
+ Annotated[StrictFloat, Field(gt=0)],
4612
+ Annotated[StrictFloat, Field(gt=0)]
4613
+ ]
4614
+ ] = None,
4615
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
4616
+ _content_type: Optional[StrictStr] = None,
4617
+ _headers: Optional[Dict[StrictStr, Any]] = None,
4618
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
4619
+ ) -> AsyncUploadGeofencesResponse:
4620
+ """Upload Geofences Async
4621
+
4622
+ Upload geofences from a file (asynchronous). This endpoint queues a background job to process geofence imports from various file formats: - GeoJSON (.geojson, .json) - Standard geospatial format - KML (.kml) - Google Earth format - GPX (.gpx) - GPS track format (converted to polygon buffers) The file must first be uploaded using the storage API to get a file_id. All imported geofences can optionally be assigned to a group. Returns a job ID to track the import progress.
4623
+
4624
+ :param upload_geofences_request: (required)
4625
+ :type upload_geofences_request: UploadGeofencesRequest
4626
+ :param _request_timeout: timeout setting for this request. If one
4627
+ number provided, it will be total request
4628
+ timeout. It can also be a pair (tuple) of
4629
+ (connection, read) timeouts.
4630
+ :type _request_timeout: int, tuple(int, int), optional
4631
+ :param _request_auth: set to override the auth_settings for an a single
4632
+ request; this effectively ignores the
4633
+ authentication in the spec for a single request.
4634
+ :type _request_auth: dict, optional
4635
+ :param _content_type: force content-type for the request.
4636
+ :type _content_type: str, Optional
4637
+ :param _headers: set to override the headers for a single
4638
+ request; this effectively ignores the headers
4639
+ in the spec for a single request.
4640
+ :type _headers: dict, optional
4641
+ :param _host_index: set to override the host_index for a single
4642
+ request; this effectively ignores the host_index
4643
+ in the spec for a single request.
4644
+ :type _host_index: int, optional
4645
+ :return: Returns the result object.
4646
+ """ # noqa: E501
4647
+
4648
+ _param = self._apps_geofences_api_upload_geofences_async_serialize(
4649
+ upload_geofences_request=upload_geofences_request,
4650
+ _request_auth=_request_auth,
4651
+ _content_type=_content_type,
4652
+ _headers=_headers,
4653
+ _host_index=_host_index
4654
+ )
4655
+
4656
+ _response_types_map: Dict[str, Optional[str]] = {
4657
+ '202': "AsyncUploadGeofencesResponse",
4658
+ '400': "ErrorResponse",
4659
+ '401': "ErrorResponse",
4660
+ '429': "RateLimitResponse",
4661
+ '500': "ErrorResponse",
4662
+ '501': "ErrorResponse",
4663
+ '502': "ErrorResponse",
4664
+ '503': "ErrorResponse",
4665
+ '504': "ErrorResponse",
4666
+ }
4667
+ response_data = await self.api_client.call_api(
4668
+ *_param,
4669
+ _request_timeout=_request_timeout
4670
+ )
4671
+ await response_data.read()
4672
+ return self.api_client.response_deserialize(
4673
+ response_data=response_data,
4674
+ response_types_map=_response_types_map,
4675
+ ).data
4676
+
4677
+
4678
+ @validate_call
4679
+ async def apps_geofences_api_upload_geofences_async_with_http_info(
4680
+ self,
4681
+ upload_geofences_request: UploadGeofencesRequest,
4682
+ _request_timeout: Union[
4683
+ None,
4684
+ Annotated[StrictFloat, Field(gt=0)],
4685
+ Tuple[
4686
+ Annotated[StrictFloat, Field(gt=0)],
4687
+ Annotated[StrictFloat, Field(gt=0)]
4688
+ ]
4689
+ ] = None,
4690
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
4691
+ _content_type: Optional[StrictStr] = None,
4692
+ _headers: Optional[Dict[StrictStr, Any]] = None,
4693
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
4694
+ ) -> ApiResponse[AsyncUploadGeofencesResponse]:
4695
+ """Upload Geofences Async
4696
+
4697
+ Upload geofences from a file (asynchronous). This endpoint queues a background job to process geofence imports from various file formats: - GeoJSON (.geojson, .json) - Standard geospatial format - KML (.kml) - Google Earth format - GPX (.gpx) - GPS track format (converted to polygon buffers) The file must first be uploaded using the storage API to get a file_id. All imported geofences can optionally be assigned to a group. Returns a job ID to track the import progress.
4698
+
4699
+ :param upload_geofences_request: (required)
4700
+ :type upload_geofences_request: UploadGeofencesRequest
4701
+ :param _request_timeout: timeout setting for this request. If one
4702
+ number provided, it will be total request
4703
+ timeout. It can also be a pair (tuple) of
4704
+ (connection, read) timeouts.
4705
+ :type _request_timeout: int, tuple(int, int), optional
4706
+ :param _request_auth: set to override the auth_settings for an a single
4707
+ request; this effectively ignores the
4708
+ authentication in the spec for a single request.
4709
+ :type _request_auth: dict, optional
4710
+ :param _content_type: force content-type for the request.
4711
+ :type _content_type: str, Optional
4712
+ :param _headers: set to override the headers for a single
4713
+ request; this effectively ignores the headers
4714
+ in the spec for a single request.
4715
+ :type _headers: dict, optional
4716
+ :param _host_index: set to override the host_index for a single
4717
+ request; this effectively ignores the host_index
4718
+ in the spec for a single request.
4719
+ :type _host_index: int, optional
4720
+ :return: Returns the result object.
4721
+ """ # noqa: E501
4722
+
4723
+ _param = self._apps_geofences_api_upload_geofences_async_serialize(
4724
+ upload_geofences_request=upload_geofences_request,
4725
+ _request_auth=_request_auth,
4726
+ _content_type=_content_type,
4727
+ _headers=_headers,
4728
+ _host_index=_host_index
4729
+ )
4730
+
4731
+ _response_types_map: Dict[str, Optional[str]] = {
4732
+ '202': "AsyncUploadGeofencesResponse",
4733
+ '400': "ErrorResponse",
4734
+ '401': "ErrorResponse",
4735
+ '429': "RateLimitResponse",
4736
+ '500': "ErrorResponse",
4737
+ '501': "ErrorResponse",
4738
+ '502': "ErrorResponse",
4739
+ '503': "ErrorResponse",
4740
+ '504': "ErrorResponse",
4741
+ }
4742
+ response_data = await self.api_client.call_api(
4743
+ *_param,
4744
+ _request_timeout=_request_timeout
4745
+ )
4746
+ await response_data.read()
4747
+ return self.api_client.response_deserialize(
4748
+ response_data=response_data,
4749
+ response_types_map=_response_types_map,
4750
+ )
4751
+
4752
+
4753
+ @validate_call
4754
+ async def apps_geofences_api_upload_geofences_async_without_preload_content(
4755
+ self,
4756
+ upload_geofences_request: UploadGeofencesRequest,
4757
+ _request_timeout: Union[
4758
+ None,
4759
+ Annotated[StrictFloat, Field(gt=0)],
4760
+ Tuple[
4761
+ Annotated[StrictFloat, Field(gt=0)],
4762
+ Annotated[StrictFloat, Field(gt=0)]
4763
+ ]
4764
+ ] = None,
4765
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
4766
+ _content_type: Optional[StrictStr] = None,
4767
+ _headers: Optional[Dict[StrictStr, Any]] = None,
4768
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
4769
+ ) -> RESTResponseType:
4770
+ """Upload Geofences Async
4771
+
4772
+ Upload geofences from a file (asynchronous). This endpoint queues a background job to process geofence imports from various file formats: - GeoJSON (.geojson, .json) - Standard geospatial format - KML (.kml) - Google Earth format - GPX (.gpx) - GPS track format (converted to polygon buffers) The file must first be uploaded using the storage API to get a file_id. All imported geofences can optionally be assigned to a group. Returns a job ID to track the import progress.
4773
+
4774
+ :param upload_geofences_request: (required)
4775
+ :type upload_geofences_request: UploadGeofencesRequest
4776
+ :param _request_timeout: timeout setting for this request. If one
4777
+ number provided, it will be total request
4778
+ timeout. It can also be a pair (tuple) of
4779
+ (connection, read) timeouts.
4780
+ :type _request_timeout: int, tuple(int, int), optional
4781
+ :param _request_auth: set to override the auth_settings for an a single
4782
+ request; this effectively ignores the
4783
+ authentication in the spec for a single request.
4784
+ :type _request_auth: dict, optional
4785
+ :param _content_type: force content-type for the request.
4786
+ :type _content_type: str, Optional
4787
+ :param _headers: set to override the headers for a single
4788
+ request; this effectively ignores the headers
4789
+ in the spec for a single request.
4790
+ :type _headers: dict, optional
4791
+ :param _host_index: set to override the host_index for a single
4792
+ request; this effectively ignores the host_index
4793
+ in the spec for a single request.
4794
+ :type _host_index: int, optional
4795
+ :return: Returns the result object.
4796
+ """ # noqa: E501
4797
+
4798
+ _param = self._apps_geofences_api_upload_geofences_async_serialize(
4799
+ upload_geofences_request=upload_geofences_request,
4800
+ _request_auth=_request_auth,
4801
+ _content_type=_content_type,
4802
+ _headers=_headers,
4803
+ _host_index=_host_index
4804
+ )
4805
+
4806
+ _response_types_map: Dict[str, Optional[str]] = {
4807
+ '202': "AsyncUploadGeofencesResponse",
4808
+ '400': "ErrorResponse",
4809
+ '401': "ErrorResponse",
4810
+ '429': "RateLimitResponse",
4811
+ '500': "ErrorResponse",
4812
+ '501': "ErrorResponse",
4813
+ '502': "ErrorResponse",
4814
+ '503': "ErrorResponse",
4815
+ '504': "ErrorResponse",
4816
+ }
4817
+ response_data = await self.api_client.call_api(
4818
+ *_param,
4819
+ _request_timeout=_request_timeout
4820
+ )
4821
+ return response_data.response
4822
+
4823
+
4824
+ def _apps_geofences_api_upload_geofences_async_serialize(
4825
+ self,
4826
+ upload_geofences_request,
4827
+ _request_auth,
4828
+ _content_type,
4829
+ _headers,
4830
+ _host_index,
4831
+ ) -> RequestSerialized:
4832
+
4833
+ _host = None
4834
+
4835
+ _collection_formats: Dict[str, str] = {
4836
+ }
4837
+
4838
+ _path_params: Dict[str, str] = {}
4839
+ _query_params: List[Tuple[str, str]] = []
4840
+ _header_params: Dict[str, Optional[str]] = _headers or {}
4841
+ _form_params: List[Tuple[str, str]] = []
4842
+ _files: Dict[
4843
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
4844
+ ] = {}
4845
+ _body_params: Optional[bytes] = None
4846
+
4847
+ # process the path parameters
4848
+ # process the query parameters
4849
+ # process the header parameters
4850
+ # process the form parameters
4851
+ # process the body parameter
4852
+ if upload_geofences_request is not None:
4853
+ _body_params = upload_geofences_request
4854
+
4855
+
4856
+ # set the HTTP header `Accept`
4857
+ if 'Accept' not in _header_params:
4858
+ _header_params['Accept'] = self.api_client.select_header_accept(
4859
+ [
4860
+ 'application/json'
4861
+ ]
4862
+ )
4863
+
4864
+ # set the HTTP header `Content-Type`
4865
+ if _content_type:
4866
+ _header_params['Content-Type'] = _content_type
4867
+ else:
4868
+ _default_content_type = (
4869
+ self.api_client.select_header_content_type(
4870
+ [
4871
+ 'application/json'
4872
+ ]
4873
+ )
4874
+ )
4875
+ if _default_content_type is not None:
4876
+ _header_params['Content-Type'] = _default_content_type
4877
+
4878
+ # authentication setting
4879
+ _auth_settings: List[str] = [
4880
+ 'APIKeyBearer',
4881
+ 'JWTBearer'
4882
+ ]
4883
+
4884
+ return self.api_client.param_serialize(
4885
+ method='POST',
4886
+ resource_path='/api/v1/geofences/upload',
4887
+ path_params=_path_params,
4888
+ query_params=_query_params,
4889
+ header_params=_header_params,
4890
+ body=_body_params,
4891
+ post_params=_form_params,
4892
+ files=_files,
4893
+ auth_settings=_auth_settings,
4894
+ collection_formats=_collection_formats,
4895
+ _host=_host,
4896
+ _request_auth=_request_auth
4897
+ )
4898
+
4899
+