gohighlevel 0.0.1
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.
- checksums.yaml +7 -0
- data/LICENSE.txt +21 -0
- data/README.md +246 -0
- data/gohighlevel.gemspec +31 -0
- data/lib/gohighlevel.rb +3 -0
- data/lib/high_level/client.rb +104 -0
- data/lib/high_level/configuration.rb +62 -0
- data/lib/high_level/errors.rb +47 -0
- data/lib/high_level/middleware/authentication.rb +78 -0
- data/lib/high_level/middleware/error_handler.rb +46 -0
- data/lib/high_level/middleware/instrumentation.rb +40 -0
- data/lib/high_level/middleware/refresh_on_401.rb +75 -0
- data/lib/high_level/models/ad_manager/ad_campaign_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/ad_campaign_group_data_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/ad_schedule_target_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/audience_custom_audience_item_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/audience_dimension_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/audience_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/audience_interest_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/audience_locale_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/audience_location_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/audience_location_geometry.rb +12 -0
- data/lib/high_level/models/ad_manager/audience_placements_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/audience_segments_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/budget.rb +12 -0
- data/lib/high_level/models/ad_manager/call_asset_payload_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/campaign_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/consent_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/conversion_value_settings.rb +12 -0
- data/lib/high_level/models/ad_manager/create_conversation_form_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/create_google_integration_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/create_integration_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/create_lead_form_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/create_linkedin_integration_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/create_offline_user_list_job_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/creation_locale_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/custom_disclaimer.rb +12 -0
- data/lib/high_level/models/ad_manager/custom_disclaimer_checkbox.rb +12 -0
- data/lib/high_level/models/ad_manager/custom_question_field_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/facebook_audience_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/fb_set_default_page_body_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/fb_update_audience_body_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/flexible_rule_user_list_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/form_question.rb +12 -0
- data/lib/high_level/models/ad_manager/form_question_option.rb +12 -0
- data/lib/high_level/models/ad_manager/geo_address_component_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/geo_geometry_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/geo_lat_lng_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/geo_location_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/geo_viewport_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/google_ad_content_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/google_ad_group_audience_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/google_ad_group_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/google_ad_schedule_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/google_asset_image_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/google_assets_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/google_bidding_strategy_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/google_budget_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/google_campaign_audience_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/google_campaign_goal_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/google_carousel_card_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/google_demographic_target_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/google_geo_location_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/google_keyword_item_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/google_keywords_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/google_locale_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/google_media_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/google_network_settings_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/google_segment_target_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/google_target_interests_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/google_you_tube_video_link_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/greeting_card.rb +12 -0
- data/lib/high_level/models/ad_manager/hidden_field_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/keyword_suggestion_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/lead_form_asset_payload_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/lead_form_content_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/lead_form_field_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/lead_form_question_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/legal_info_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/linked_in_ad_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/linked_in_budget_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/linked_in_create_lead_form_body_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/linked_in_media_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/linked_in_update_ad_status_body_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/locale_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/localized_string_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/location_id_body_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/media_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/member_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/multiple_choice_option_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/multiple_choice_question_details_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/post_submission_call_to_action_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/post_submission_call_to_action_target_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/post_submission_info_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/publish_ad_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/question_details_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/rule_based_user_list_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/rule_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/rule_item_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/rule_item_group_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/rule_operand_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/selected_attribute_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/sitelink_asset_payload_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/sponsored_account_owner_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/string_rule_item_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/target_audience_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/thank_you_page.rb +12 -0
- data/lib/high_level/models/ad_manager/unit_cost_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/update_custom_audience_batch_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/update_custom_audience_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/upsert_ad_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/upsert_adset_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/upsert_assets_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/upsert_audience_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/upsert_campaign_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/upsert_conversion_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/upsert_conversion_pixel_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/upsert_segment_dto.rb +12 -0
- data/lib/high_level/models/ad_manager/welcome_message_question.rb +12 -0
- data/lib/high_level/models/affiliate_manager/affiliate_list_meta_response_dto.rb +12 -0
- data/lib/high_level/models/affiliate_manager/commission_affiliate_response_dto.rb +12 -0
- data/lib/high_level/models/affiliate_manager/commission_campaign_response_dto.rb +12 -0
- data/lib/high_level/models/affiliate_manager/commission_customer_response_dto.rb +12 -0
- data/lib/high_level/models/affiliate_manager/commission_list_item_response_dto.rb +12 -0
- data/lib/high_level/models/affiliate_manager/commission_list_meta_response_dto.rb +12 -0
- data/lib/high_level/models/affiliate_manager/get_affiliate_response_dto.rb +12 -0
- data/lib/high_level/models/affiliate_manager/get_commission_list_response_dto.rb +12 -0
- data/lib/high_level/models/affiliate_manager/get_payout_list_response_dto.rb +12 -0
- data/lib/high_level/models/affiliate_manager/list_affiliates_response_dto.rb +12 -0
- data/lib/high_level/models/affiliate_manager/o_auth_affiliate_list_item_response_dto.rb +12 -0
- data/lib/high_level/models/affiliate_manager/payout_list_item_response_dto.rb +12 -0
- data/lib/high_level/models/affiliate_manager/payout_list_meta_response_dto.rb +12 -0
- data/lib/high_level/models/agent_studio/create_public_agent_dto.rb +12 -0
- data/lib/high_level/models/agent_studio/create_public_agent_response_dto.rb +12 -0
- data/lib/high_level/models/agent_studio/delete_public_agent_response_dto.rb +12 -0
- data/lib/high_level/models/agent_studio/execute_public_agent_dto.rb +12 -0
- data/lib/high_level/models/agent_studio/execute_public_agent_response_dto.rb +12 -0
- data/lib/high_level/models/agent_studio/get_agent_by_id_response_dto.rb +12 -0
- data/lib/high_level/models/agent_studio/get_published_agents_response_dto.rb +12 -0
- data/lib/high_level/models/agent_studio/internal_server_error_dto.rb +12 -0
- data/lib/high_level/models/agent_studio/promote_and_publish_dto.rb +12 -0
- data/lib/high_level/models/agent_studio/promote_and_publish_response_dto.rb +12 -0
- data/lib/high_level/models/agent_studio/public_attachment_schema.rb +12 -0
- data/lib/high_level/models/agent_studio/update_public_agent_metadata_dto.rb +12 -0
- data/lib/high_level/models/agent_studio/update_public_agent_response_dto.rb +12 -0
- data/lib/high_level/models/agent_studio/update_public_agent_version_dto.rb +12 -0
- data/lib/high_level/models/associations/create_association_req_dto.rb +12 -0
- data/lib/high_level/models/associations/create_relation_req_dto.rb +12 -0
- data/lib/high_level/models/associations/delete_associations_response_dto.rb +12 -0
- data/lib/high_level/models/associations/get_post_successful_response_dto.rb +12 -0
- data/lib/high_level/models/associations/update_association_req_dto.rb +12 -0
- data/lib/high_level/models/blogs/author_response_dto.rb +12 -0
- data/lib/high_level/models/blogs/authors_response_dto.rb +12 -0
- data/lib/high_level/models/blogs/blog_get_response_wrapper_dto.rb +12 -0
- data/lib/high_level/models/blogs/blog_post_create_response_wrapper_dto.rb +12 -0
- data/lib/high_level/models/blogs/blog_post_get_response_wrapper_dto.rb +12 -0
- data/lib/high_level/models/blogs/blog_post_response_dto.rb +12 -0
- data/lib/high_level/models/blogs/blog_post_update_response_wrapper_dto.rb +12 -0
- data/lib/high_level/models/blogs/blog_response_dto.rb +12 -0
- data/lib/high_level/models/blogs/categories_response_dto.rb +12 -0
- data/lib/high_level/models/blogs/category_response_dto.rb +12 -0
- data/lib/high_level/models/blogs/create_blog_post_params.rb +12 -0
- data/lib/high_level/models/blogs/update_blog_post_params.rb +12 -0
- data/lib/high_level/models/blogs/url_slug_check_response_dto.rb +12 -0
- data/lib/high_level/models/brand_boards/brand_board_list_item_dto.rb +12 -0
- data/lib/high_level/models/brand_boards/color.rb +12 -0
- data/lib/high_level/models/brand_boards/create_brand_board_param.rb +12 -0
- data/lib/high_level/models/brand_boards/font.rb +12 -0
- data/lib/high_level/models/brand_boards/get_brand_board_success_dto.rb +12 -0
- data/lib/high_level/models/brand_boards/get_brand_boards_by_location_success_dto.rb +12 -0
- data/lib/high_level/models/brand_boards/invalid_location_dto.rb +12 -0
- data/lib/high_level/models/brand_boards/logo.rb +12 -0
- data/lib/high_level/models/brand_boards/meta_data.rb +12 -0
- data/lib/high_level/models/brand_boards/not_found_dto.rb +12 -0
- data/lib/high_level/models/brand_boards/update_brand_board_body.rb +12 -0
- data/lib/high_level/models/businesses/business_created_by_or_updated_by.rb +12 -0
- data/lib/high_level/models/businesses/business_dto.rb +12 -0
- data/lib/high_level/models/businesses/create_business_dto.rb +12 -0
- data/lib/high_level/models/businesses/delete_business_response_dto.rb +12 -0
- data/lib/high_level/models/businesses/get_business_by_id_response_dto.rb +12 -0
- data/lib/high_level/models/businesses/get_business_by_location_response_dto.rb +12 -0
- data/lib/high_level/models/businesses/update_business_dto.rb +12 -0
- data/lib/high_level/models/businesses/update_business_response_dto.rb +12 -0
- data/lib/high_level/models/calendars/all_groups_successful_response_dto.rb +12 -0
- data/lib/high_level/models/calendars/appointment_create_schema.rb +12 -0
- data/lib/high_level/models/calendars/appointment_edit_schema.rb +12 -0
- data/lib/high_level/models/calendars/appointment_schema_response.rb +12 -0
- data/lib/high_level/models/calendars/availability.rb +12 -0
- data/lib/high_level/models/calendars/block_slot_create_request_dto.rb +12 -0
- data/lib/high_level/models/calendars/block_slot_edit_request_dto.rb +12 -0
- data/lib/high_level/models/calendars/blocked_slot_successful_response_dto.rb +12 -0
- data/lib/high_level/models/calendars/calendar_by_id_successful_response_dto.rb +12 -0
- data/lib/high_level/models/calendars/calendar_create_dto.rb +12 -0
- data/lib/high_level/models/calendars/calendar_delete_successful_response_dto.rb +12 -0
- data/lib/high_level/models/calendars/calendar_dto.rb +12 -0
- data/lib/high_level/models/calendars/calendar_event_dto.rb +12 -0
- data/lib/high_level/models/calendars/calendar_notification.rb +12 -0
- data/lib/high_level/models/calendars/calendar_notification_delete_response_dto.rb +12 -0
- data/lib/high_level/models/calendars/calendar_notification_response_dto.rb +12 -0
- data/lib/high_level/models/calendars/calendar_resource_by_id_response_dto.rb +12 -0
- data/lib/high_level/models/calendars/calendar_resource_response_dto.rb +12 -0
- data/lib/high_level/models/calendars/calendar_update_dto.rb +12 -0
- data/lib/high_level/models/calendars/calendars_get_successful_response_dto.rb +12 -0
- data/lib/high_level/models/calendars/create_calendar_notification_dto.rb +12 -0
- data/lib/high_level/models/calendars/create_calendar_resource_dto.rb +12 -0
- data/lib/high_level/models/calendars/create_schedule_dto.rb +12 -0
- data/lib/high_level/models/calendars/created_or_updated_by.rb +12 -0
- data/lib/high_level/models/calendars/delete_appointment_schema.rb +12 -0
- data/lib/high_level/models/calendars/delete_event_successful_response_dto.rb +12 -0
- data/lib/high_level/models/calendars/delete_note_successful_response_dto.rb +12 -0
- data/lib/high_level/models/calendars/get_all_schedules_response_dto.rb +12 -0
- data/lib/high_level/models/calendars/get_calendar_event_successful_response_dto.rb +12 -0
- data/lib/high_level/models/calendars/get_calendar_events_successful_response_dto.rb +12 -0
- data/lib/high_level/models/calendars/get_create_update_note_successful_response_dto.rb +12 -0
- data/lib/high_level/models/calendars/get_note_schema.rb +12 -0
- data/lib/high_level/models/calendars/get_notes_list_successful_response_dto.rb +12 -0
- data/lib/high_level/models/calendars/group_create_dto.rb +12 -0
- data/lib/high_level/models/calendars/group_create_successful_response_dto.rb +12 -0
- data/lib/high_level/models/calendars/group_dto.rb +12 -0
- data/lib/high_level/models/calendars/group_status_update_params.rb +12 -0
- data/lib/high_level/models/calendars/group_successful_response_dto.rb +12 -0
- data/lib/high_level/models/calendars/group_update_dto.rb +12 -0
- data/lib/high_level/models/calendars/hour.rb +12 -0
- data/lib/high_level/models/calendars/location_configuration.rb +12 -0
- data/lib/high_level/models/calendars/location_configuration_response.rb +12 -0
- data/lib/high_level/models/calendars/look_busy_configuration.rb +12 -0
- data/lib/high_level/models/calendars/note_created_by_schema.rb +12 -0
- data/lib/high_level/models/calendars/notes_dto.rb +12 -0
- data/lib/high_level/models/calendars/open_hour.rb +12 -0
- data/lib/high_level/models/calendars/recurring.rb +12 -0
- data/lib/high_level/models/calendars/resource_delete_response_dto.rb +12 -0
- data/lib/high_level/models/calendars/schedule_interval_dto.rb +12 -0
- data/lib/high_level/models/calendars/schedule_object_response_dto.rb +12 -0
- data/lib/high_level/models/calendars/schedule_response_dto.rb +12 -0
- data/lib/high_level/models/calendars/schedule_rule_dto.rb +12 -0
- data/lib/high_level/models/calendars/schedules_dto.rb +12 -0
- data/lib/high_level/models/calendars/slots_schema.rb +12 -0
- data/lib/high_level/models/calendars/team_member.rb +12 -0
- data/lib/high_level/models/calendars/team_member_response.rb +12 -0
- data/lib/high_level/models/calendars/update_availability.rb +12 -0
- data/lib/high_level/models/calendars/update_calendar_notifications_dto.rb +12 -0
- data/lib/high_level/models/calendars/update_calendar_resource_dto.rb +12 -0
- data/lib/high_level/models/calendars/update_schedule_dto.rb +12 -0
- data/lib/high_level/models/calendars/validate_group_slug_post_body.rb +12 -0
- data/lib/high_level/models/calendars/validate_group_slug_success_response_dto.rb +12 -0
- data/lib/high_level/models/campaigns/campaigns_schema.rb +12 -0
- data/lib/high_level/models/campaigns/campaigns_successful_response_dto.rb +12 -0
- data/lib/high_level/models/companies/get_company_by_id_schema.rb +12 -0
- data/lib/high_level/models/companies/get_company_by_id_successful_response_dto.rb +12 -0
- data/lib/high_level/models/companies/i_onboarding_dto.rb +12 -0
- data/lib/high_level/models/contacts/add_contact_to_campaign_dto.rb +12 -0
- data/lib/high_level/models/contacts/attribution_source.rb +12 -0
- data/lib/high_level/models/contacts/checkbox_field.rb +12 -0
- data/lib/high_level/models/contacts/contacts_bulk_upate_response.rb +12 -0
- data/lib/high_level/models/contacts/contacts_business_update.rb +12 -0
- data/lib/high_level/models/contacts/contacts_by_id_successful_response_dto.rb +12 -0
- data/lib/high_level/models/contacts/contacts_meta_schema.rb +12 -0
- data/lib/high_level/models/contacts/contacts_search_schema.rb +12 -0
- data/lib/high_level/models/contacts/contacts_search_successful_response_dto.rb +12 -0
- data/lib/high_level/models/contacts/contacts_workflow_successful_response_dto.rb +12 -0
- data/lib/high_level/models/contacts/create_add_followers_successful_response_dto.rb +12 -0
- data/lib/high_level/models/contacts/create_add_tag_successful_response_dto.rb +12 -0
- data/lib/high_level/models/contacts/create_contact_dto.rb +12 -0
- data/lib/high_level/models/contacts/create_contact_schema.rb +12 -0
- data/lib/high_level/models/contacts/create_contacts_successful_response_dto.rb +12 -0
- data/lib/high_level/models/contacts/create_delete_cantacts_campaigns_successful_response_dto.rb +12 -0
- data/lib/high_level/models/contacts/create_delete_tag_successful_response_dto.rb +12 -0
- data/lib/high_level/models/contacts/create_task_params.rb +12 -0
- data/lib/high_level/models/contacts/create_workflow_dto.rb +12 -0
- data/lib/high_level/models/contacts/custom_field_schema.rb +12 -0
- data/lib/high_level/models/contacts/custom_fields_input_array_schema.rb +12 -0
- data/lib/high_level/models/contacts/custom_fields_input_object_schema.rb +12 -0
- data/lib/high_level/models/contacts/custom_fields_input_string_schema.rb +12 -0
- data/lib/high_level/models/contacts/delete_contacts_successful_response_dto.rb +12 -0
- data/lib/high_level/models/contacts/delete_followers_successful_response_dto.rb +12 -0
- data/lib/high_level/models/contacts/delete_note_successful_response_dto.rb +12 -0
- data/lib/high_level/models/contacts/delete_task_successful_response_dto.rb +12 -0
- data/lib/high_level/models/contacts/dnd_setting_schema.rb +12 -0
- data/lib/high_level/models/contacts/dnd_settings_schema.rb +12 -0
- data/lib/high_level/models/contacts/file_field.rb +12 -0
- data/lib/high_level/models/contacts/followers_dto.rb +12 -0
- data/lib/high_level/models/contacts/get_contect_by_id_schema.rb +12 -0
- data/lib/high_level/models/contacts/get_create_update_note_successful_response_dto.rb +12 -0
- data/lib/high_level/models/contacts/get_event_schema.rb +12 -0
- data/lib/high_level/models/contacts/get_events_successful_response_dto.rb +12 -0
- data/lib/high_level/models/contacts/get_note_schema.rb +12 -0
- data/lib/high_level/models/contacts/get_notes_list_successful_response_dto.rb +12 -0
- data/lib/high_level/models/contacts/inbound_dnd_setting_schema.rb +12 -0
- data/lib/high_level/models/contacts/inbound_dnd_settings_schema.rb +12 -0
- data/lib/high_level/models/contacts/large_text_field.rb +12 -0
- data/lib/high_level/models/contacts/monetory_field.rb +12 -0
- data/lib/high_level/models/contacts/multi_select_field.rb +12 -0
- data/lib/high_level/models/contacts/notes_dto.rb +12 -0
- data/lib/high_level/models/contacts/numeric_field.rb +12 -0
- data/lib/high_level/models/contacts/radio_field.rb +12 -0
- data/lib/high_level/models/contacts/search_body_v2_dto.rb +12 -0
- data/lib/high_level/models/contacts/single_select_field.rb +12 -0
- data/lib/high_level/models/contacts/tags_dto.rb +12 -0
- data/lib/high_level/models/contacts/task_by_is_successful_response_dto.rb +12 -0
- data/lib/high_level/models/contacts/task_schema.rb +12 -0
- data/lib/high_level/models/contacts/tasks_list_successful_response_dto.rb +12 -0
- data/lib/high_level/models/contacts/text_field.rb +12 -0
- data/lib/high_level/models/contacts/update_contact_dto.rb +12 -0
- data/lib/high_level/models/contacts/update_contacts_successful_response_dto.rb +12 -0
- data/lib/high_level/models/contacts/update_note_dto.rb +12 -0
- data/lib/high_level/models/contacts/update_tags_dto.rb +12 -0
- data/lib/high_level/models/contacts/update_tags_response_dto.rb +12 -0
- data/lib/high_level/models/contacts/update_task_body.rb +12 -0
- data/lib/high_level/models/contacts/update_task_status_params.rb +12 -0
- data/lib/high_level/models/contacts/upsert_contact_dto.rb +12 -0
- data/lib/high_level/models/contacts/upsert_contacts_successful_response_dto.rb +12 -0
- data/lib/high_level/models/conversation_ai/action_data_dto.rb +12 -0
- data/lib/high_level/models/conversation_ai/actions_id_dto.rb +12 -0
- data/lib/high_level/models/conversation_ai/advanced_followup_dto.rb +12 -0
- data/lib/high_level/models/conversation_ai/appointment_booking_dto.rb +12 -0
- data/lib/high_level/models/conversation_ai/create_action_dto.rb +12 -0
- data/lib/high_level/models/conversation_ai/create_action_response_dto.rb +12 -0
- data/lib/high_level/models/conversation_ai/create_employee_dto.rb +12 -0
- data/lib/high_level/models/conversation_ai/delete_action_data_dto.rb +12 -0
- data/lib/high_level/models/conversation_ai/delete_action_response_dto.rb +12 -0
- data/lib/high_level/models/conversation_ai/delete_employee_response_dto.rb +12 -0
- data/lib/high_level/models/conversation_ai/employee_list_item_dto.rb +12 -0
- data/lib/high_level/models/conversation_ai/employee_response_dto.rb +12 -0
- data/lib/high_level/models/conversation_ai/fetch_action_details_response_dto.rb +12 -0
- data/lib/high_level/models/conversation_ai/fetch_actions_for_employee_response_dto.rb +12 -0
- data/lib/high_level/models/conversation_ai/fetch_ai_response_details_response_dto.rb +12 -0
- data/lib/high_level/models/conversation_ai/followup_sequence.rb +12 -0
- data/lib/high_level/models/conversation_ai/followup_settings.rb +12 -0
- data/lib/high_level/models/conversation_ai/human_hand_over_dto.rb +12 -0
- data/lib/high_level/models/conversation_ai/interval.rb +12 -0
- data/lib/high_level/models/conversation_ai/search_employee_response_dto.rb +12 -0
- data/lib/high_level/models/conversation_ai/stop_bot_dto.rb +12 -0
- data/lib/high_level/models/conversation_ai/transfer_bot_dto.rb +12 -0
- data/lib/high_level/models/conversation_ai/trigger_workflow_dto.rb +12 -0
- data/lib/high_level/models/conversation_ai/update_action_response_dto.rb +12 -0
- data/lib/high_level/models/conversation_ai/update_contact_field_dto.rb +12 -0
- data/lib/high_level/models/conversation_ai/update_employee_dto.rb +12 -0
- data/lib/high_level/models/conversation_ai/update_followup_settings_dto.rb +12 -0
- data/lib/high_level/models/conversation_ai/working_hours.rb +12 -0
- data/lib/high_level/models/conversations/add_message_attachments_dto.rb +12 -0
- data/lib/high_level/models/conversations/call_data_dto.rb +12 -0
- data/lib/high_level/models/conversations/cancel_scheduled_response_dto.rb +12 -0
- data/lib/high_level/models/conversations/complete_file_upload_dto.rb +12 -0
- data/lib/high_level/models/conversations/complete_file_upload_response_dto.rb +12 -0
- data/lib/high_level/models/conversations/conversation_create_response_dto.rb +12 -0
- data/lib/high_level/models/conversations/conversation_dto.rb +12 -0
- data/lib/high_level/models/conversations/conversation_schema.rb +12 -0
- data/lib/high_level/models/conversations/create_conversation_dto.rb +12 -0
- data/lib/high_level/models/conversations/create_conversation_success_response.rb +12 -0
- data/lib/high_level/models/conversations/create_custom_subtype_dto.rb +12 -0
- data/lib/high_level/models/conversations/create_live_chat_message_feedback_response.rb +12 -0
- data/lib/high_level/models/conversations/delete_conversation_successful_response.rb +12 -0
- data/lib/high_level/models/conversations/error_dto.rb +12 -0
- data/lib/high_level/models/conversations/export_messages_response_dto.rb +12 -0
- data/lib/high_level/models/conversations/forward_config_dto.rb +12 -0
- data/lib/high_level/models/conversations/forward_response_dto.rb +12 -0
- data/lib/high_level/models/conversations/get_conversation_by_id_response.rb +12 -0
- data/lib/high_level/models/conversations/get_conversation_successful_response.rb +12 -0
- data/lib/high_level/models/conversations/get_email_message_response_dto.rb +12 -0
- data/lib/high_level/models/conversations/get_message_response_dto.rb +12 -0
- data/lib/high_level/models/conversations/get_message_transcription_response_dto.rb +12 -0
- data/lib/high_level/models/conversations/get_messages_by_conversation_response_dto.rb +12 -0
- data/lib/high_level/models/conversations/initiate_file_upload_dto.rb +12 -0
- data/lib/high_level/models/conversations/initiate_file_upload_response_dto.rb +12 -0
- data/lib/high_level/models/conversations/message_meta.rb +12 -0
- data/lib/high_level/models/conversations/process_message_body_dto.rb +12 -0
- data/lib/high_level/models/conversations/process_message_response_dto.rb +12 -0
- data/lib/high_level/models/conversations/process_outbound_message_body_dto.rb +12 -0
- data/lib/high_level/models/conversations/send_conversation_response_dto.rb +12 -0
- data/lib/high_level/models/conversations/send_message_body_dto.rb +12 -0
- data/lib/high_level/models/conversations/send_message_response_dto.rb +12 -0
- data/lib/high_level/models/conversations/send_review_reply_dto.rb +12 -0
- data/lib/high_level/models/conversations/start_after_array_number_schema.rb +12 -0
- data/lib/high_level/models/conversations/start_after_number_schema.rb +12 -0
- data/lib/high_level/models/conversations/subscription_action_dto.rb +12 -0
- data/lib/high_level/models/conversations/update_conversation_dto.rb +12 -0
- data/lib/high_level/models/conversations/update_custom_subtype_dto.rb +12 -0
- data/lib/high_level/models/conversations/update_message_status_dto.rb +12 -0
- data/lib/high_level/models/conversations/upload_files_dto.rb +12 -0
- data/lib/high_level/models/conversations/upload_files_error_response_dto.rb +12 -0
- data/lib/high_level/models/conversations/upload_files_response_dto.rb +12 -0
- data/lib/high_level/models/conversations/user_subscription_change_dto.rb +12 -0
- data/lib/high_level/models/conversations/user_typing_body.rb +12 -0
- data/lib/high_level/models/courses/category_interface.rb +12 -0
- data/lib/high_level/models/courses/instructor_details.rb +12 -0
- data/lib/high_level/models/courses/post_interface.rb +12 -0
- data/lib/high_level/models/courses/post_material_interface.rb +12 -0
- data/lib/high_level/models/courses/product_interface.rb +12 -0
- data/lib/high_level/models/courses/public_exporter_payload.rb +12 -0
- data/lib/high_level/models/courses/sub_category_interface.rb +12 -0
- data/lib/high_level/models/custom_fields/create_custom_fields_dto.rb +12 -0
- data/lib/high_level/models/custom_fields/create_folder.rb +12 -0
- data/lib/high_level/models/custom_fields/custom_field_successful_response_dto.rb +12 -0
- data/lib/high_level/models/custom_fields/custom_fields_response_dto.rb +12 -0
- data/lib/high_level/models/custom_fields/custom_folder_delete_response_dto.rb +12 -0
- data/lib/high_level/models/custom_fields/i_custom_field.rb +12 -0
- data/lib/high_level/models/custom_fields/i_custom_field_folder.rb +12 -0
- data/lib/high_level/models/custom_fields/option_dto.rb +12 -0
- data/lib/high_level/models/custom_fields/update_custom_fields_dto.rb +12 -0
- data/lib/high_level/models/custom_fields/update_folder.rb +12 -0
- data/lib/high_level/models/custom_menus/create_custom_menu_dto.rb +12 -0
- data/lib/high_level/models/custom_menus/custom_menu_schema.rb +12 -0
- data/lib/high_level/models/custom_menus/delete_custom_menu_successful_response_dto.rb +12 -0
- data/lib/high_level/models/custom_menus/get_custom_menus_response_dto.rb +12 -0
- data/lib/high_level/models/custom_menus/get_single_custom_menus_successful_response_dto.rb +12 -0
- data/lib/high_level/models/custom_menus/icon_schema.rb +12 -0
- data/lib/high_level/models/custom_menus/icon_schema_optional.rb +12 -0
- data/lib/high_level/models/custom_menus/update_custom_menu_dto.rb +12 -0
- data/lib/high_level/models/custom_menus/update_custom_menu_link_response_dto.rb +12 -0
- data/lib/high_level/models/email_isv/email_not_verified_response_dto.rb +12 -0
- data/lib/high_level/models/email_isv/email_verified_response_dto.rb +12 -0
- data/lib/high_level/models/email_isv/lead_connector_recomandation_dto.rb +12 -0
- data/lib/high_level/models/email_isv/verification_body_dto.rb +12 -0
- data/lib/high_level/models/emails/builder_update_successful_dto.rb +12 -0
- data/lib/high_level/models/emails/create_builder_dto.rb +12 -0
- data/lib/high_level/models/emails/create_builder_succesful_response_dto.rb +12 -0
- data/lib/high_level/models/emails/delete_builder_succesful_response_dto.rb +12 -0
- data/lib/high_level/models/emails/fetch_builder_succesful_response_dto.rb +12 -0
- data/lib/high_level/models/emails/i_builder_json_mapper.rb +12 -0
- data/lib/high_level/models/emails/invalid_location_dto.rb +12 -0
- data/lib/high_level/models/emails/not_found_dto.rb +12 -0
- data/lib/high_level/models/emails/save_builder_data_dto.rb +12 -0
- data/lib/high_level/models/emails/schedule_dto.rb +12 -0
- data/lib/high_level/models/emails/schedule_fetch_successful_dto.rb +12 -0
- data/lib/high_level/models/emails/template_settings.rb +12 -0
- data/lib/high_level/models/forms/contact_session_ids.rb +12 -0
- data/lib/high_level/models/forms/event_data_schema.rb +12 -0
- data/lib/high_level/models/forms/forms_params.rb +12 -0
- data/lib/high_level/models/forms/forms_submissions_submissions_schema.rb +12 -0
- data/lib/high_level/models/forms/forms_submissions_successful_response_dto.rb +12 -0
- data/lib/high_level/models/forms/forms_successful_response_dto.rb +12 -0
- data/lib/high_level/models/forms/meta_schema.rb +12 -0
- data/lib/high_level/models/forms/others_schema.rb +12 -0
- data/lib/high_level/models/forms/page_details_schema.rb +12 -0
- data/lib/high_level/models/funnels/create_redirect_params.rb +12 -0
- data/lib/high_level/models/funnels/create_redirect_response_dto.rb +12 -0
- data/lib/high_level/models/funnels/delete_redirect_response_dto.rb +12 -0
- data/lib/high_level/models/funnels/funnel_list_response_dto.rb +12 -0
- data/lib/high_level/models/funnels/funnel_page_count_response_dto.rb +12 -0
- data/lib/high_level/models/funnels/funnel_page_response_dto.rb +12 -0
- data/lib/high_level/models/funnels/redirect_list_response_dto.rb +12 -0
- data/lib/high_level/models/funnels/redirect_response_dto.rb +12 -0
- data/lib/high_level/models/funnels/update_redirect_params.rb +12 -0
- data/lib/high_level/models/funnels/update_redirect_response_dto.rb +12 -0
- data/lib/high_level/models/invoices/additional_emails_dto.rb +12 -0
- data/lib/high_level/models/invoices/address.rb +12 -0
- data/lib/high_level/models/invoices/address_dto.rb +12 -0
- data/lib/high_level/models/invoices/alt_dto.rb +12 -0
- data/lib/high_level/models/invoices/attachments_dto.rb +12 -0
- data/lib/high_level/models/invoices/auto_invoice.rb +12 -0
- data/lib/high_level/models/invoices/auto_invoicing_dto.rb +12 -0
- data/lib/high_level/models/invoices/auto_payment_details_dto.rb +12 -0
- data/lib/high_level/models/invoices/auto_payment_invoice_schedule_response_dto.rb +12 -0
- data/lib/high_level/models/invoices/auto_payment_schedule_dto.rb +12 -0
- data/lib/high_level/models/invoices/bacs_direct_debit_dto.rb +12 -0
- data/lib/high_level/models/invoices/becs_direct_debit_dto.rb +12 -0
- data/lib/high_level/models/invoices/business_details.rb +12 -0
- data/lib/high_level/models/invoices/business_details_dto.rb +12 -0
- data/lib/high_level/models/invoices/cancel_invoice_schedule_dto.rb +12 -0
- data/lib/high_level/models/invoices/cancel_invoice_schedule_response_dto.rb +12 -0
- data/lib/high_level/models/invoices/card_dto.rb +12 -0
- data/lib/high_level/models/invoices/cheque_dto.rb +12 -0
- data/lib/high_level/models/invoices/contact_details.rb +12 -0
- data/lib/high_level/models/invoices/contact_details_dto.rb +12 -0
- data/lib/high_level/models/invoices/create_estimates_dto.rb +12 -0
- data/lib/high_level/models/invoices/create_invoice_dto.rb +12 -0
- data/lib/high_level/models/invoices/create_invoice_from_estimate_dto.rb +12 -0
- data/lib/high_level/models/invoices/create_invoice_from_estimate_response_dto.rb +12 -0
- data/lib/high_level/models/invoices/create_invoice_response_dto.rb +12 -0
- data/lib/high_level/models/invoices/create_invoice_schedule_dto.rb +12 -0
- data/lib/high_level/models/invoices/create_invoice_schedule_response_dto.rb +12 -0
- data/lib/high_level/models/invoices/create_invoice_template_dto.rb +12 -0
- data/lib/high_level/models/invoices/create_invoice_template_response_dto.rb +12 -0
- data/lib/high_level/models/invoices/custom_notification_dto.rb +12 -0
- data/lib/high_level/models/invoices/custom_notification_item_dto.rb +12 -0
- data/lib/high_level/models/invoices/custom_r_rule_options_dto.rb +12 -0
- data/lib/high_level/models/invoices/default_invoice_response_dto.rb +12 -0
- data/lib/high_level/models/invoices/delete_invoice_response_dto.rb +12 -0
- data/lib/high_level/models/invoices/delete_invoice_schedule_response_dto.rb +12 -0
- data/lib/high_level/models/invoices/delete_invoice_template_response_dto.rb +12 -0
- data/lib/high_level/models/invoices/discount_dto.rb +12 -0
- data/lib/high_level/models/invoices/estimate_id_param.rb +12 -0
- data/lib/high_level/models/invoices/estimate_line_item_dto.rb +12 -0
- data/lib/high_level/models/invoices/estimate_response_dto.rb +12 -0
- data/lib/high_level/models/invoices/estimate_template_response_dto.rb +12 -0
- data/lib/high_level/models/invoices/estimate_templates_dto.rb +12 -0
- data/lib/high_level/models/invoices/frequency_settings_dto.rb +12 -0
- data/lib/high_level/models/invoices/generate_estimate_number_response.rb +12 -0
- data/lib/high_level/models/invoices/generate_invoice_number_response_dto.rb +12 -0
- data/lib/high_level/models/invoices/get_invoice_response_dto.rb +12 -0
- data/lib/high_level/models/invoices/get_invoice_settings_response_dto.rb +12 -0
- data/lib/high_level/models/invoices/get_schedule_response_dto.rb +12 -0
- data/lib/high_level/models/invoices/get_template_response_dto.rb +12 -0
- data/lib/high_level/models/invoices/invoice_item_dto.rb +12 -0
- data/lib/high_level/models/invoices/invoice_product_settings_dto.rb +12 -0
- data/lib/high_level/models/invoices/invoice_settings_business_details_dto.rb +12 -0
- data/lib/high_level/models/invoices/invoice_settings_sender_configuration_dto.rb +12 -0
- data/lib/high_level/models/invoices/item_tax_dto.rb +12 -0
- data/lib/high_level/models/invoices/late_fees_configuration_dto.rb +12 -0
- data/lib/high_level/models/invoices/late_fees_frequency_dto.rb +12 -0
- data/lib/high_level/models/invoices/late_fees_grace_dto.rb +12 -0
- data/lib/high_level/models/invoices/late_fees_max_fees_dto.rb +12 -0
- data/lib/high_level/models/invoices/list_estimate_template_response_dto.rb +12 -0
- data/lib/high_level/models/invoices/list_estimates_response_dto.rb +12 -0
- data/lib/high_level/models/invoices/list_invoices_response_dto.rb +12 -0
- data/lib/high_level/models/invoices/list_schedules_response_dto.rb +12 -0
- data/lib/high_level/models/invoices/list_templates_response_dto.rb +12 -0
- data/lib/high_level/models/invoices/old_create_invoice_dto.rb +12 -0
- data/lib/high_level/models/invoices/patch_invoice_stats_last_viewed_dto.rb +12 -0
- data/lib/high_level/models/invoices/payment_method_dto.rb +12 -0
- data/lib/high_level/models/invoices/payment_schedule_config_dto.rb +12 -0
- data/lib/high_level/models/invoices/payment_schedule_date_config_dto.rb +12 -0
- data/lib/high_level/models/invoices/payment_schedule_dto.rb +12 -0
- data/lib/high_level/models/invoices/processing_fee_dto.rb +12 -0
- data/lib/high_level/models/invoices/processing_fee_paid_charge_dto.rb +12 -0
- data/lib/high_level/models/invoices/record_payment_dto.rb +12 -0
- data/lib/high_level/models/invoices/record_payment_response_dto.rb +12 -0
- data/lib/high_level/models/invoices/reminder_dto.rb +12 -0
- data/lib/high_level/models/invoices/reminder_execution_details_list.rb +12 -0
- data/lib/high_level/models/invoices/reminder_settings_dto.rb +12 -0
- data/lib/high_level/models/invoices/reminders_configuration_dto.rb +12 -0
- data/lib/high_level/models/invoices/schedule_invoice_schedule_dto.rb +12 -0
- data/lib/high_level/models/invoices/schedule_invoice_schedule_response_dto.rb +12 -0
- data/lib/high_level/models/invoices/schedule_options_dto.rb +12 -0
- data/lib/high_level/models/invoices/send_estimate_dto.rb +12 -0
- data/lib/high_level/models/invoices/send_invoice_dto.rb +12 -0
- data/lib/high_level/models/invoices/send_invoices_response_dto.rb +12 -0
- data/lib/high_level/models/invoices/sent_to.rb +12 -0
- data/lib/high_level/models/invoices/sent_to_dto.rb +12 -0
- data/lib/high_level/models/invoices/sepa_direct_debit_dto.rb +12 -0
- data/lib/high_level/models/invoices/stripe_payment_method_dto.rb +12 -0
- data/lib/high_level/models/invoices/text2_pay_dto.rb +12 -0
- data/lib/high_level/models/invoices/text2_pay_invoice_response_dto.rb +12 -0
- data/lib/high_level/models/invoices/tips_configuration_dto.rb +12 -0
- data/lib/high_level/models/invoices/total_summary_dto.rb +12 -0
- data/lib/high_level/models/invoices/update_and_schedule_invoice_schedule_response_dto.rb +12 -0
- data/lib/high_level/models/invoices/update_estimate_dto.rb +12 -0
- data/lib/high_level/models/invoices/update_invoice_dto.rb +12 -0
- data/lib/high_level/models/invoices/update_invoice_late_fees_configuration_dto.rb +12 -0
- data/lib/high_level/models/invoices/update_invoice_response_dto.rb +12 -0
- data/lib/high_level/models/invoices/update_invoice_schedule_dto.rb +12 -0
- data/lib/high_level/models/invoices/update_invoice_schedule_response_dto.rb +12 -0
- data/lib/high_level/models/invoices/update_invoice_template_dto.rb +12 -0
- data/lib/high_level/models/invoices/update_invoice_template_response_dto.rb +12 -0
- data/lib/high_level/models/invoices/update_payment_methods_configuration_dto.rb +12 -0
- data/lib/high_level/models/invoices/us_bank_account_dto.rb +12 -0
- data/lib/high_level/models/invoices/void_invoice_dto.rb +12 -0
- data/lib/high_level/models/invoices/void_invoice_response_dto.rb +12 -0
- data/lib/high_level/models/knowledge_base/add_faq_dto.rb +12 -0
- data/lib/high_level/models/knowledge_base/bad_request_dto.rb +12 -0
- data/lib/high_level/models/knowledge_base/crawled_url_dto.rb +12 -0
- data/lib/high_level/models/knowledge_base/crawling_aggregate_dto.rb +12 -0
- data/lib/high_level/models/knowledge_base/crawling_record_dto.rb +12 -0
- data/lib/high_level/models/knowledge_base/crawling_status_data_dto.rb +12 -0
- data/lib/high_level/models/knowledge_base/crawling_status_response_dto.rb +12 -0
- data/lib/high_level/models/knowledge_base/create_faq_response_dto.rb +12 -0
- data/lib/high_level/models/knowledge_base/create_knowledge_base_dto.rb +12 -0
- data/lib/high_level/models/knowledge_base/create_knowledge_base_response_dto.rb +12 -0
- data/lib/high_level/models/knowledge_base/delete_faq_response_dto.rb +12 -0
- data/lib/high_level/models/knowledge_base/delete_knowledge_base_response_dto.rb +12 -0
- data/lib/high_level/models/knowledge_base/delete_website_url_request_dto.rb +12 -0
- data/lib/high_level/models/knowledge_base/delete_website_url_response_dto.rb +12 -0
- data/lib/high_level/models/knowledge_base/discover_website_data_dto.rb +12 -0
- data/lib/high_level/models/knowledge_base/discover_website_request_dto.rb +12 -0
- data/lib/high_level/models/knowledge_base/discover_website_response_dto.rb +12 -0
- data/lib/high_level/models/knowledge_base/error_details_dto.rb +12 -0
- data/lib/high_level/models/knowledge_base/faq_response_dto.rb +12 -0
- data/lib/high_level/models/knowledge_base/get_all_knowledge_bases_paginated_data_dto.rb +12 -0
- data/lib/high_level/models/knowledge_base/get_all_knowledge_bases_paginated_response_dto.rb +12 -0
- data/lib/high_level/models/knowledge_base/get_all_urls_by_knowledge_base_response_dto.rb +12 -0
- data/lib/high_level/models/knowledge_base/get_knowledge_base_by_id_data_dto.rb +12 -0
- data/lib/high_level/models/knowledge_base/get_knowledge_base_by_id_response_dto.rb +12 -0
- data/lib/high_level/models/knowledge_base/internal_server_error_dto.rb +12 -0
- data/lib/high_level/models/knowledge_base/knowledge_base_data_dto.rb +12 -0
- data/lib/high_level/models/knowledge_base/knowledge_base_list_item_dto.rb +12 -0
- data/lib/high_level/models/knowledge_base/knowledge_base_metadata_dto.rb +12 -0
- data/lib/high_level/models/knowledge_base/list_faqs_response_dto.rb +12 -0
- data/lib/high_level/models/knowledge_base/operation_details_dto.rb +12 -0
- data/lib/high_level/models/knowledge_base/train_discovered_urls_dto.rb +12 -0
- data/lib/high_level/models/knowledge_base/train_discovered_urls_response_dto.rb +12 -0
- data/lib/high_level/models/knowledge_base/unauthorized_dto.rb +12 -0
- data/lib/high_level/models/knowledge_base/unprocessable_dto.rb +12 -0
- data/lib/high_level/models/knowledge_base/update_faq_body_dto.rb +12 -0
- data/lib/high_level/models/knowledge_base/update_faq_response_dto.rb +12 -0
- data/lib/high_level/models/knowledge_base/update_knowledge_base_dto.rb +12 -0
- data/lib/high_level/models/knowledge_base/update_knowledge_base_response_dto.rb +12 -0
- data/lib/high_level/models/links/delete_links_successful_response_dto.rb +12 -0
- data/lib/high_level/models/links/get_link_successful_response_dto.rb +12 -0
- data/lib/high_level/models/links/get_links_successful_response_dto.rb +12 -0
- data/lib/high_level/models/links/link_schema.rb +12 -0
- data/lib/high_level/models/links/link_update_dto.rb +12 -0
- data/lib/high_level/models/links/links_dto.rb +12 -0
- data/lib/high_level/models/locations/business_schema.rb +12 -0
- data/lib/high_level/models/locations/create_custom_fields_dto.rb +12 -0
- data/lib/high_level/models/locations/create_location_dto.rb +12 -0
- data/lib/high_level/models/locations/create_location_successful_response_dto.rb +12 -0
- data/lib/high_level/models/locations/custom_field_delete_successful_response_dto.rb +12 -0
- data/lib/high_level/models/locations/custom_field_schema.rb +12 -0
- data/lib/high_level/models/locations/custom_field_successful_response_dto.rb +12 -0
- data/lib/high_level/models/locations/custom_fields_list_successful_response_dto.rb +12 -0
- data/lib/high_level/models/locations/custom_r_rules_options.rb +12 -0
- data/lib/high_level/models/locations/custom_value_delete_successful_response_dto.rb +12 -0
- data/lib/high_level/models/locations/custom_value_id_successful_response_dto.rb +12 -0
- data/lib/high_level/models/locations/custom_value_schema.rb +12 -0
- data/lib/high_level/models/locations/custom_values_dto.rb +12 -0
- data/lib/high_level/models/locations/custom_values_list_successful_response_dto.rb +12 -0
- data/lib/high_level/models/locations/delete_recurring_task_response_dto.rb +12 -0
- data/lib/high_level/models/locations/email_template_schema.rb +12 -0
- data/lib/high_level/models/locations/file_upload_body.rb +12 -0
- data/lib/high_level/models/locations/file_upload_response_dto.rb +12 -0
- data/lib/high_level/models/locations/get_email_template_response_schema.rb +12 -0
- data/lib/high_level/models/locations/get_location_by_id_schema.rb +12 -0
- data/lib/high_level/models/locations/get_location_by_id_successful_response_dto.rb +12 -0
- data/lib/high_level/models/locations/get_location_schema.rb +12 -0
- data/lib/high_level/models/locations/get_sms_template_response_schema.rb +12 -0
- data/lib/high_level/models/locations/get_templates_successful_response_dto.rb +12 -0
- data/lib/high_level/models/locations/location_deleted_successful_response_dto.rb +12 -0
- data/lib/high_level/models/locations/location_tag_delete_successful_response_dto.rb +12 -0
- data/lib/high_level/models/locations/location_tag_successful_response_dto.rb +12 -0
- data/lib/high_level/models/locations/location_tags_schema.rb +12 -0
- data/lib/high_level/models/locations/location_tags_successful_response_dto.rb +12 -0
- data/lib/high_level/models/locations/location_task_list_successful_response_dto.rb +12 -0
- data/lib/high_level/models/locations/mailgun_schema.rb +12 -0
- data/lib/high_level/models/locations/prospect_info_dto.rb +12 -0
- data/lib/high_level/models/locations/recurring_task_create_dto.rb +12 -0
- data/lib/high_level/models/locations/recurring_task_response_dto.rb +12 -0
- data/lib/high_level/models/locations/recurring_task_single_response_dto.rb +12 -0
- data/lib/high_level/models/locations/recurring_task_update_dto.rb +12 -0
- data/lib/high_level/models/locations/search_successful_response_dto.rb +12 -0
- data/lib/high_level/models/locations/settings_schema.rb +12 -0
- data/lib/high_level/models/locations/sms_template_schema.rb +12 -0
- data/lib/high_level/models/locations/snapshot_put_schema.rb +12 -0
- data/lib/high_level/models/locations/social_schema.rb +12 -0
- data/lib/high_level/models/locations/tag_body.rb +12 -0
- data/lib/high_level/models/locations/task_search_params_dto.rb +12 -0
- data/lib/high_level/models/locations/text_box_list_options_schema.rb +12 -0
- data/lib/high_level/models/locations/twilio_schema.rb +12 -0
- data/lib/high_level/models/locations/update_custom_fields_dto.rb +12 -0
- data/lib/high_level/models/locations/update_location_dto.rb +12 -0
- data/lib/high_level/models/marketplace/delete_integration_body_dto.rb +12 -0
- data/lib/high_level/models/marketplace/delete_integration_response.rb +12 -0
- data/lib/high_level/models/marketplace/get_installer_details_response_dto.rb +12 -0
- data/lib/high_level/models/marketplace/get_rebilling_config_response_dto.rb +12 -0
- data/lib/high_level/models/marketplace/installer_details_dto.rb +12 -0
- data/lib/high_level/models/marketplace/internal_server_error_dto.rb +12 -0
- data/lib/high_level/models/marketplace/migrate_connection_dto.rb +12 -0
- data/lib/high_level/models/marketplace/migrate_connection_response_dto.rb +12 -0
- data/lib/high_level/models/marketplace/plans_dto.rb +12 -0
- data/lib/high_level/models/marketplace/raise_charge_body_dto.rb +12 -0
- data/lib/high_level/models/marketplace/subscription_plan_dto.rb +12 -0
- data/lib/high_level/models/marketplace/usage_plan_dto.rb +12 -0
- data/lib/high_level/models/marketplace/whitelabel_details_dto.rb +12 -0
- data/lib/high_level/models/medias/create_folder_params.rb +12 -0
- data/lib/high_level/models/medias/delete_media_object_item.rb +12 -0
- data/lib/high_level/models/medias/delete_media_objects_body_params.rb +12 -0
- data/lib/high_level/models/medias/folder_dto.rb +12 -0
- data/lib/high_level/models/medias/get_files_response_dto.rb +12 -0
- data/lib/high_level/models/medias/move_or_delete_object_params.rb +12 -0
- data/lib/high_level/models/medias/update_media_object.rb +12 -0
- data/lib/high_level/models/medias/update_media_objects.rb +12 -0
- data/lib/high_level/models/medias/update_object.rb +12 -0
- data/lib/high_level/models/medias/upload_file_response_dto.rb +12 -0
- data/lib/high_level/models/objects/create_custom_object_record_dto.rb +12 -0
- data/lib/high_level/models/objects/create_custom_object_schema_dto.rb +12 -0
- data/lib/high_level/models/objects/created_by_response_dto.rb +12 -0
- data/lib/high_level/models/objects/custom_object_by_id_response_dto.rb +12 -0
- data/lib/high_level/models/objects/custom_object_display_property_details.rb +12 -0
- data/lib/high_level/models/objects/custom_object_label_dto.rb +12 -0
- data/lib/high_level/models/objects/custom_object_label_update_dto.rb +12 -0
- data/lib/high_level/models/objects/custom_object_list_response_dto.rb +12 -0
- data/lib/high_level/models/objects/custom_object_response_dto.rb +12 -0
- data/lib/high_level/models/objects/i_custom_field.rb +12 -0
- data/lib/high_level/models/objects/i_custom_object_schema.rb +12 -0
- data/lib/high_level/models/objects/i_record_schema.rb +12 -0
- data/lib/high_level/models/objects/object_record_delete_response_dto.rb +12 -0
- data/lib/high_level/models/objects/option_dto.rb +12 -0
- data/lib/high_level/models/objects/record_by_id_response_dto.rb +12 -0
- data/lib/high_level/models/objects/record_response_dto.rb +12 -0
- data/lib/high_level/models/objects/search_record_response_dto.rb +12 -0
- data/lib/high_level/models/objects/search_records_body.rb +12 -0
- data/lib/high_level/models/objects/update_custom_object_record_dto.rb +12 -0
- data/lib/high_level/models/objects/update_custom_object_schema_dto.rb +12 -0
- data/lib/high_level/models/opportunities/additional_details_dto.rb +12 -0
- data/lib/high_level/models/opportunities/create_add_followers_successful_response_dto.rb +12 -0
- data/lib/high_level/models/opportunities/create_dto.rb +12 -0
- data/lib/high_level/models/opportunities/custom_field_response_schema.rb +12 -0
- data/lib/high_level/models/opportunities/custom_fields_input_array_schema.rb +12 -0
- data/lib/high_level/models/opportunities/custom_fields_input_object_schema.rb +12 -0
- data/lib/high_level/models/opportunities/custom_fields_input_string_schema.rb +12 -0
- data/lib/high_level/models/opportunities/delete_followers_successful_response_dto.rb +12 -0
- data/lib/high_level/models/opportunities/delete_update_opportunity_successful_response_dto.rb +12 -0
- data/lib/high_level/models/opportunities/followers_dto.rb +12 -0
- data/lib/high_level/models/opportunities/get_pipelines_successful_response_dto.rb +12 -0
- data/lib/high_level/models/opportunities/get_post_opportunity_successful_response_dto.rb +12 -0
- data/lib/high_level/models/opportunities/lost_reason_response_schema.rb +12 -0
- data/lib/high_level/models/opportunities/lost_reasons_response_schema.rb +12 -0
- data/lib/high_level/models/opportunities/opportunity_search_body_dto.rb +12 -0
- data/lib/high_level/models/opportunities/pipelines_response_schema.rb +12 -0
- data/lib/high_level/models/opportunities/post_search_successful_response_dto.rb +12 -0
- data/lib/high_level/models/opportunities/search_meta_response_schema.rb +12 -0
- data/lib/high_level/models/opportunities/search_opportunities_contact_response_schema.rb +12 -0
- data/lib/high_level/models/opportunities/search_opportunities_response_schema.rb +12 -0
- data/lib/high_level/models/opportunities/search_successful_response_dto.rb +12 -0
- data/lib/high_level/models/opportunities/update_opportunity_dto.rb +12 -0
- data/lib/high_level/models/opportunities/update_status_dto.rb +12 -0
- data/lib/high_level/models/opportunities/upsert_opportunity_dto.rb +12 -0
- data/lib/high_level/models/opportunities/upsert_opportunity_successful_response_dto.rb +12 -0
- data/lib/high_level/models/payments/amount_summary.rb +12 -0
- data/lib/high_level/models/payments/apply_to_future_payments_config.rb +12 -0
- data/lib/high_level/models/payments/apply_to_future_payments_config_dto.rb +12 -0
- data/lib/high_level/models/payments/card_dto.rb +12 -0
- data/lib/high_level/models/payments/cheque_dto.rb +12 -0
- data/lib/high_level/models/payments/connect_custom_providers_config_dto.rb +12 -0
- data/lib/high_level/models/payments/connect_custom_providers_response_schema.rb +12 -0
- data/lib/high_level/models/payments/coupon_dto.rb +12 -0
- data/lib/high_level/models/payments/create_coupon_params.rb +12 -0
- data/lib/high_level/models/payments/create_coupon_response_dto.rb +12 -0
- data/lib/high_level/models/payments/create_custom_providers_dto.rb +12 -0
- data/lib/high_level/models/payments/create_custom_providers_response_schema.rb +12 -0
- data/lib/high_level/models/payments/create_fulfillment_dto.rb +12 -0
- data/lib/high_level/models/payments/create_fulfillment_response_dto.rb +12 -0
- data/lib/high_level/models/payments/create_white_label_integration_provider_dto.rb +12 -0
- data/lib/high_level/models/payments/create_whitelabel_integration_response_dto.rb +12 -0
- data/lib/high_level/models/payments/custom_provider_keys.rb +12 -0
- data/lib/high_level/models/payments/custom_r_rule_options_dto.rb +12 -0
- data/lib/high_level/models/payments/default_price_response_dto.rb +12 -0
- data/lib/high_level/models/payments/default_product_response_dto.rb +12 -0
- data/lib/high_level/models/payments/delete_coupon_params.rb +12 -0
- data/lib/high_level/models/payments/delete_coupon_response_dto.rb +12 -0
- data/lib/high_level/models/payments/delete_custom_providers_config_dto.rb +12 -0
- data/lib/high_level/models/payments/delete_custom_providers_response_schema.rb +12 -0
- data/lib/high_level/models/payments/disconnect_custom_providers_response_schema.rb +12 -0
- data/lib/high_level/models/payments/fulfilled_item.rb +12 -0
- data/lib/high_level/models/payments/fulfillment_items.rb +12 -0
- data/lib/high_level/models/payments/fulfillment_schema.rb +12 -0
- data/lib/high_level/models/payments/fulfillment_tracking.rb +12 -0
- data/lib/high_level/models/payments/get_custom_providers_response_schema.rb +12 -0
- data/lib/high_level/models/payments/get_order_response_schema.rb +12 -0
- data/lib/high_level/models/payments/get_subscription_response_schema.rb +12 -0
- data/lib/high_level/models/payments/get_txn_response_schema.rb +12 -0
- data/lib/high_level/models/payments/integration_provider_schema.rb +12 -0
- data/lib/high_level/models/payments/list_coupons_response_dto.rb +12 -0
- data/lib/high_level/models/payments/list_fulfillment_response_dto.rb +12 -0
- data/lib/high_level/models/payments/list_orders_response_dto.rb +12 -0
- data/lib/high_level/models/payments/list_subscription_response_dto.rb +12 -0
- data/lib/high_level/models/payments/list_txns_response_dto.rb +12 -0
- data/lib/high_level/models/payments/list_whitelabel_integration_provider_response_dto.rb +12 -0
- data/lib/high_level/models/payments/membership_offer_dto.rb +12 -0
- data/lib/high_level/models/payments/order_response_schema.rb +12 -0
- data/lib/high_level/models/payments/order_source.rb +12 -0
- data/lib/high_level/models/payments/post_record_order_payment_body.rb +12 -0
- data/lib/high_level/models/payments/post_record_order_payment_response.rb +12 -0
- data/lib/high_level/models/payments/product_label_dto.rb +12 -0
- data/lib/high_level/models/payments/product_variant_dto.rb +12 -0
- data/lib/high_level/models/payments/product_variant_option_dto.rb +12 -0
- data/lib/high_level/models/payments/recurring_dto.rb +12 -0
- data/lib/high_level/models/payments/schedule_options_dto.rb +12 -0
- data/lib/high_level/models/payments/subscription_response_schema.rb +12 -0
- data/lib/high_level/models/payments/txn_response_schema.rb +12 -0
- data/lib/high_level/models/payments/update_coupon_params.rb +12 -0
- data/lib/high_level/models/payments/update_custom_provider_capabilities_dto.rb +12 -0
- data/lib/high_level/models/payments/update_custom_provider_capabilities_response_schema.rb +12 -0
- data/lib/high_level/models/phone_system/available_numbers_response_dto.rb +12 -0
- data/lib/high_level/models/phone_system/available_phone_number_dto.rb +12 -0
- data/lib/high_level/models/phone_system/detailed_phone_number_dto.rb +12 -0
- data/lib/high_level/models/phone_system/number_pool_dto.rb +12 -0
- data/lib/high_level/models/phone_system/purchase_phone_number_body_dto.rb +12 -0
- data/lib/high_level/models/phone_system/twilio_account_response_dto.rb +12 -0
- data/lib/high_level/models/products/bulk_edit_price_dto.rb +12 -0
- data/lib/high_level/models/products/bulk_edit_product_dto.rb +12 -0
- data/lib/high_level/models/products/bulk_edit_request_dto.rb +12 -0
- data/lib/high_level/models/products/bulk_edit_response_dto.rb +12 -0
- data/lib/high_level/models/products/bulk_update_dto.rb +12 -0
- data/lib/high_level/models/products/bulk_update_filters.rb +12 -0
- data/lib/high_level/models/products/bulk_update_response_dto.rb +12 -0
- data/lib/high_level/models/products/collection_schema.rb +12 -0
- data/lib/high_level/models/products/collection_seo_dto.rb +12 -0
- data/lib/high_level/models/products/count_reviews_by_status_response_dto.rb +12 -0
- data/lib/high_level/models/products/create_collection_response_dto.rb +12 -0
- data/lib/high_level/models/products/create_price_dto.rb +12 -0
- data/lib/high_level/models/products/create_price_response_dto.rb +12 -0
- data/lib/high_level/models/products/create_product_collections_dto.rb +12 -0
- data/lib/high_level/models/products/create_product_dto.rb +12 -0
- data/lib/high_level/models/products/create_product_response_dto.rb +12 -0
- data/lib/high_level/models/products/default_collection_response_dto.rb +12 -0
- data/lib/high_level/models/products/default_price_response_dto.rb +12 -0
- data/lib/high_level/models/products/default_product_response_dto.rb +12 -0
- data/lib/high_level/models/products/delete_price_response_dto.rb +12 -0
- data/lib/high_level/models/products/delete_product_collection_response_dto.rb +12 -0
- data/lib/high_level/models/products/delete_product_response_dto.rb +12 -0
- data/lib/high_level/models/products/delete_product_review_response_dto.rb +12 -0
- data/lib/high_level/models/products/get_inventory_response_dto.rb +12 -0
- data/lib/high_level/models/products/get_price_response_dto.rb +12 -0
- data/lib/high_level/models/products/get_product_response_dto.rb +12 -0
- data/lib/high_level/models/products/get_product_stats_response_dto.rb +12 -0
- data/lib/high_level/models/products/inventory_item_dto.rb +12 -0
- data/lib/high_level/models/products/list_collection_response_dto.rb +12 -0
- data/lib/high_level/models/products/list_prices_response_dto.rb +12 -0
- data/lib/high_level/models/products/list_product_reviews_response_dto.rb +12 -0
- data/lib/high_level/models/products/list_products_response_dto.rb +12 -0
- data/lib/high_level/models/products/list_products_stats.rb +12 -0
- data/lib/high_level/models/products/membership_offer_dto.rb +12 -0
- data/lib/high_level/models/products/price_dimensions_dto.rb +12 -0
- data/lib/high_level/models/products/price_meta_dto.rb +12 -0
- data/lib/high_level/models/products/price_update_field.rb +12 -0
- data/lib/high_level/models/products/product_categories.rb +12 -0
- data/lib/high_level/models/products/product_label_dto.rb +12 -0
- data/lib/high_level/models/products/product_media_dto.rb +12 -0
- data/lib/high_level/models/products/product_review_dto.rb +12 -0
- data/lib/high_level/models/products/product_seo_dto.rb +12 -0
- data/lib/high_level/models/products/product_variant_dto.rb +12 -0
- data/lib/high_level/models/products/product_variant_option_dto.rb +12 -0
- data/lib/high_level/models/products/recurring_dto.rb +12 -0
- data/lib/high_level/models/products/shipping_options_dto.rb +12 -0
- data/lib/high_level/models/products/update_display_priority_body_dto.rb +12 -0
- data/lib/high_level/models/products/update_inventory_dto.rb +12 -0
- data/lib/high_level/models/products/update_inventory_item_dto.rb +12 -0
- data/lib/high_level/models/products/update_inventory_response_dto.rb +12 -0
- data/lib/high_level/models/products/update_price_dto.rb +12 -0
- data/lib/high_level/models/products/update_price_response_dto.rb +12 -0
- data/lib/high_level/models/products/update_product_collection_response_dto.rb +12 -0
- data/lib/high_level/models/products/update_product_collections_dto.rb +12 -0
- data/lib/high_level/models/products/update_product_dto.rb +12 -0
- data/lib/high_level/models/products/update_product_response_dto.rb +12 -0
- data/lib/high_level/models/products/update_product_review_dto.rb +12 -0
- data/lib/high_level/models/products/update_product_review_object_dto.rb +12 -0
- data/lib/high_level/models/products/update_product_reviews_dto.rb +12 -0
- data/lib/high_level/models/products/update_product_reviews_response_dto.rb +12 -0
- data/lib/high_level/models/products/update_product_store_dto.rb +12 -0
- data/lib/high_level/models/products/update_product_store_response_dto.rb +12 -0
- data/lib/high_level/models/products/user_details_dto.rb +12 -0
- data/lib/high_level/models/products/weight_options_dto.rb +12 -0
- data/lib/high_level/models/proposals/bad_request_dto.rb +12 -0
- data/lib/high_level/models/proposals/cc_recipient_item.rb +12 -0
- data/lib/high_level/models/proposals/discount_dto.rb +12 -0
- data/lib/high_level/models/proposals/document_dto.rb +12 -0
- data/lib/high_level/models/proposals/document_list_response_dto.rb +12 -0
- data/lib/high_level/models/proposals/fillable_fields_dto.rb +12 -0
- data/lib/high_level/models/proposals/grand_total_dto.rb +12 -0
- data/lib/high_level/models/proposals/notification_send_setting_dto.rb +12 -0
- data/lib/high_level/models/proposals/notification_sender_setting_dto.rb +12 -0
- data/lib/high_level/models/proposals/notification_settings_dto.rb +12 -0
- data/lib/high_level/models/proposals/proposal_estimate_links_dto.rb +12 -0
- data/lib/high_level/models/proposals/recipient_item.rb +12 -0
- data/lib/high_level/models/proposals/send_document_dto.rb +12 -0
- data/lib/high_level/models/proposals/send_document_from_public_api_body_dto.rb +12 -0
- data/lib/high_level/models/proposals/send_document_response_dto.rb +12 -0
- data/lib/high_level/models/proposals/send_template_response_dto.rb +12 -0
- data/lib/high_level/models/proposals/template_list_pagination_response_dto.rb +12 -0
- data/lib/high_level/models/proposals/template_list_response_dto.rb +12 -0
- data/lib/high_level/models/proposals/unauthorized_dto.rb +12 -0
- data/lib/high_level/models/saas_api/agency_plan_response_dto.rb +12 -0
- data/lib/high_level/models/saas_api/bad_request_dto.rb +12 -0
- data/lib/high_level/models/saas_api/bulk_disable_saas_dto.rb +12 -0
- data/lib/high_level/models/saas_api/bulk_disable_saas_response_dto.rb +12 -0
- data/lib/high_level/models/saas_api/bulk_enable_saas_action_payload_dto.rb +12 -0
- data/lib/high_level/models/saas_api/bulk_enable_saas_request_dto.rb +12 -0
- data/lib/high_level/models/saas_api/bulk_enable_saas_response_dto.rb +12 -0
- data/lib/high_level/models/saas_api/enable_saas_dto.rb +12 -0
- data/lib/high_level/models/saas_api/enable_saas_response_dto.rb +12 -0
- data/lib/high_level/models/saas_api/get_saas_locations_response_dto.rb +12 -0
- data/lib/high_level/models/saas_api/internal_server_error_dto.rb +12 -0
- data/lib/high_level/models/saas_api/location_subscription_response_dto.rb +12 -0
- data/lib/high_level/models/saas_api/pause_location_dto.rb +12 -0
- data/lib/high_level/models/saas_api/resource_not_found_dto.rb +12 -0
- data/lib/high_level/models/saas_api/saas_location_dto.rb +12 -0
- data/lib/high_level/models/saas_api/saas_plan_response_dto.rb +12 -0
- data/lib/high_level/models/saas_api/unauthorized_dto.rb +12 -0
- data/lib/high_level/models/saas_api/update_rebilling_dto.rb +12 -0
- data/lib/high_level/models/saas_api/update_rebilling_response_dto.rb +12 -0
- data/lib/high_level/models/saas_api/update_subscription_dto.rb +12 -0
- data/lib/high_level/models/snapshots/create_snapshot_share_link_request_dto.rb +12 -0
- data/lib/high_level/models/snapshots/create_snapshot_share_link_successful_response_dto.rb +12 -0
- data/lib/high_level/models/snapshots/get_latest_snapshot_push_status_successful_response_dto.rb +12 -0
- data/lib/high_level/models/snapshots/get_snapshot_push_status_successful_response_dto.rb +12 -0
- data/lib/high_level/models/snapshots/get_snapshots_successful_response_dto.rb +12 -0
- data/lib/high_level/models/snapshots/snapshot_status_schema.rb +12 -0
- data/lib/high_level/models/snapshots/snapshot_status_schema_with_assets.rb +12 -0
- data/lib/high_level/models/snapshots/snapshots_schema.rb +12 -0
- data/lib/high_level/models/social_media_posting/accounts_list_response_dto.rb +12 -0
- data/lib/high_level/models/social_media_posting/accounts_list_response_schema.rb +12 -0
- data/lib/high_level/models/social_media_posting/attach_fb_account_dto.rb +12 -0
- data/lib/high_level/models/social_media_posting/attach_gmb_location_dto.rb +12 -0
- data/lib/high_level/models/social_media_posting/attach_ig_account_dto.rb +12 -0
- data/lib/high_level/models/social_media_posting/attach_linkedin_account_dto.rb +12 -0
- data/lib/high_level/models/social_media_posting/attach_tiktok_account_dto.rb +12 -0
- data/lib/high_level/models/social_media_posting/attach_twitter_account_dto.rb +12 -0
- data/lib/high_level/models/social_media_posting/bulk_delete_post_successful_response_schema.rb +12 -0
- data/lib/high_level/models/social_media_posting/bulk_delete_response_dto.rb +12 -0
- data/lib/high_level/models/social_media_posting/category_schema.rb +12 -0
- data/lib/high_level/models/social_media_posting/create_post_dto.rb +12 -0
- data/lib/high_level/models/social_media_posting/create_post_successful_response_dto.rb +12 -0
- data/lib/high_level/models/social_media_posting/create_post_successful_response_schema.rb +12 -0
- data/lib/high_level/models/social_media_posting/csv_default_dto.rb +12 -0
- data/lib/high_level/models/social_media_posting/csv_import_schema.rb +12 -0
- data/lib/high_level/models/social_media_posting/csv_media_response_schema.rb +12 -0
- data/lib/high_level/models/social_media_posting/csv_post_schema.rb +12 -0
- data/lib/high_level/models/social_media_posting/csv_post_status_response_dto.rb +12 -0
- data/lib/high_level/models/social_media_posting/csv_response.rb +12 -0
- data/lib/high_level/models/social_media_posting/csv_response_schema.rb +12 -0
- data/lib/high_level/models/social_media_posting/date_schema.rb +12 -0
- data/lib/high_level/models/social_media_posting/delete_account_response_schema.rb +12 -0
- data/lib/high_level/models/social_media_posting/delete_csv_response_dto.rb +12 -0
- data/lib/high_level/models/social_media_posting/delete_post_response_dto.rb +12 -0
- data/lib/high_level/models/social_media_posting/delete_post_response_schema.rb +12 -0
- data/lib/high_level/models/social_media_posting/delete_post_successful_response_dto.rb +12 -0
- data/lib/high_level/models/social_media_posting/delete_post_successful_response_schema.rb +12 -0
- data/lib/high_level/models/social_media_posting/delete_posts_dto.rb +12 -0
- data/lib/high_level/models/social_media_posting/end_date_schema.rb +12 -0
- data/lib/high_level/models/social_media_posting/facebook_page_schema.rb +12 -0
- data/lib/high_level/models/social_media_posting/formated_approval_details.rb +12 -0
- data/lib/high_level/models/social_media_posting/get_account_schema.rb +12 -0
- data/lib/high_level/models/social_media_posting/get_by_id_response_dto.rb +12 -0
- data/lib/high_level/models/social_media_posting/get_by_id_response_schema.rb +12 -0
- data/lib/high_level/models/social_media_posting/get_by_location_id_response_dto.rb +12 -0
- data/lib/high_level/models/social_media_posting/get_by_location_id_response_schema.rb +12 -0
- data/lib/high_level/models/social_media_posting/get_category_schema.rb +12 -0
- data/lib/high_level/models/social_media_posting/get_csv_post_response_dto.rb +12 -0
- data/lib/high_level/models/social_media_posting/get_csv_post_response_schema.rb +12 -0
- data/lib/high_level/models/social_media_posting/get_facebook_accounts_response_dto.rb +12 -0
- data/lib/high_level/models/social_media_posting/get_facebook_accounts_schema.rb +12 -0
- data/lib/high_level/models/social_media_posting/get_google_location_account_schema.rb +12 -0
- data/lib/high_level/models/social_media_posting/get_google_location_response_dto.rb +12 -0
- data/lib/high_level/models/social_media_posting/get_google_location_schema.rb +12 -0
- data/lib/high_level/models/social_media_posting/get_group_schema.rb +12 -0
- data/lib/high_level/models/social_media_posting/get_instagram_accounts_response_dto.rb +12 -0
- data/lib/high_level/models/social_media_posting/get_instagram_accounts_schema.rb +12 -0
- data/lib/high_level/models/social_media_posting/get_linked_in_account_schema.rb +12 -0
- data/lib/high_level/models/social_media_posting/get_linked_in_accounts_response_dto.rb +12 -0
- data/lib/high_level/models/social_media_posting/get_post_formatted_schema.rb +12 -0
- data/lib/high_level/models/social_media_posting/get_post_successful_response_dto.rb +12 -0
- data/lib/high_level/models/social_media_posting/get_post_successful_response_schema.rb +12 -0
- data/lib/high_level/models/social_media_posting/get_tags_by_id_response_dto.rb +12 -0
- data/lib/high_level/models/social_media_posting/get_tags_by_id_response_schema.rb +12 -0
- data/lib/high_level/models/social_media_posting/get_tags_by_location_id_response_dto.rb +12 -0
- data/lib/high_level/models/social_media_posting/get_tags_by_location_id_response_schema.rb +12 -0
- data/lib/high_level/models/social_media_posting/get_tiktok_account_response_dto.rb +12 -0
- data/lib/high_level/models/social_media_posting/get_tiktok_account_schema.rb +12 -0
- data/lib/high_level/models/social_media_posting/get_tiktok_business_account_response_dto.rb +12 -0
- data/lib/high_level/models/social_media_posting/get_tiktok_business_account_schema.rb +12 -0
- data/lib/high_level/models/social_media_posting/get_twitter_accounts_response_dto.rb +12 -0
- data/lib/high_level/models/social_media_posting/get_twitter_accounts_schema.rb +12 -0
- data/lib/high_level/models/social_media_posting/get_upload_status_response_dto.rb +12 -0
- data/lib/high_level/models/social_media_posting/get_upload_status_response_schema.rb +12 -0
- data/lib/high_level/models/social_media_posting/gmb_post_schema.rb +12 -0
- data/lib/high_level/models/social_media_posting/google_accounts_schema.rb +12 -0
- data/lib/high_level/models/social_media_posting/google_location_schema.rb +12 -0
- data/lib/high_level/models/social_media_posting/i_og_tags_schema.rb +12 -0
- data/lib/high_level/models/social_media_posting/instagram_account_schema.rb +12 -0
- data/lib/high_level/models/social_media_posting/linked_in_page_schema.rb +12 -0
- data/lib/high_level/models/social_media_posting/linked_in_profile_schema.rb +12 -0
- data/lib/high_level/models/social_media_posting/location_and_account_delete_response_dto.rb +12 -0
- data/lib/high_level/models/social_media_posting/og_image_schema.rb +12 -0
- data/lib/high_level/models/social_media_posting/og_tags_schema.rb +12 -0
- data/lib/high_level/models/social_media_posting/post_approval_schema.rb +12 -0
- data/lib/high_level/models/social_media_posting/post_create_request.rb +12 -0
- data/lib/high_level/models/social_media_posting/post_media_schema.rb +12 -0
- data/lib/high_level/models/social_media_posting/post_successful_response_dto.rb +12 -0
- data/lib/high_level/models/social_media_posting/post_successful_response_schema.rb +12 -0
- data/lib/high_level/models/social_media_posting/post_user_schema.rb +12 -0
- data/lib/high_level/models/social_media_posting/search_post_dto.rb +12 -0
- data/lib/high_level/models/social_media_posting/set_accounts_dto.rb +12 -0
- data/lib/high_level/models/social_media_posting/set_accounts_response_dto.rb +12 -0
- data/lib/high_level/models/social_media_posting/social_google_media_account_schema.rb +12 -0
- data/lib/high_level/models/social_media_posting/social_media_facebook_account_schema.rb +12 -0
- data/lib/high_level/models/social_media_posting/social_media_fb_account_response_dto.rb +12 -0
- data/lib/high_level/models/social_media_posting/social_media_gmb_account_response_dto.rb +12 -0
- data/lib/high_level/models/social_media_posting/social_media_instagram_account_response_dto.rb +12 -0
- data/lib/high_level/models/social_media_posting/social_media_instagram_account_schema.rb +12 -0
- data/lib/high_level/models/social_media_posting/social_media_linked_in_account_response_dto.rb +12 -0
- data/lib/high_level/models/social_media_posting/social_media_linked_in_account_schema.rb +12 -0
- data/lib/high_level/models/social_media_posting/social_media_tag_schema.rb +12 -0
- data/lib/high_level/models/social_media_posting/social_media_tiktok_account_response_dto.rb +12 -0
- data/lib/high_level/models/social_media_posting/social_media_tiktok_account_schema.rb +12 -0
- data/lib/high_level/models/social_media_posting/social_media_twitter_account_response_dto.rb +12 -0
- data/lib/high_level/models/social_media_posting/social_media_twitter_account_schema.rb +12 -0
- data/lib/high_level/models/social_media_posting/start_date_schema.rb +12 -0
- data/lib/high_level/models/social_media_posting/tiktok_post_schema.rb +12 -0
- data/lib/high_level/models/social_media_posting/tiktok_profile_schema.rb +12 -0
- data/lib/high_level/models/social_media_posting/time_schema.rb +12 -0
- data/lib/high_level/models/social_media_posting/twitter_profile_schema.rb +12 -0
- data/lib/high_level/models/social_media_posting/update_post_successful_response_dto.rb +12 -0
- data/lib/high_level/models/social_media_posting/update_tag_dto.rb +12 -0
- data/lib/high_level/models/social_media_posting/upload_csvdto.rb +12 -0
- data/lib/high_level/models/social_media_posting/upload_file_response_dto.rb +12 -0
- data/lib/high_level/models/social_media_posting/upload_file_response_schema.rb +12 -0
- data/lib/high_level/models/store/available_shipping_rate.rb +12 -0
- data/lib/high_level/models/store/contact_address.rb +12 -0
- data/lib/high_level/models/store/create_shipping_carrier_dto.rb +12 -0
- data/lib/high_level/models/store/create_shipping_carrier_response_dto.rb +12 -0
- data/lib/high_level/models/store/create_shipping_rate_dto.rb +12 -0
- data/lib/high_level/models/store/create_shipping_rate_response_dto.rb +12 -0
- data/lib/high_level/models/store/create_shipping_zone_dto.rb +12 -0
- data/lib/high_level/models/store/create_shipping_zone_response_dto.rb +12 -0
- data/lib/high_level/models/store/create_store_setting_dto.rb +12 -0
- data/lib/high_level/models/store/create_store_setting_response_dto.rb +12 -0
- data/lib/high_level/models/store/delete_shipping_carrier_response_dto.rb +12 -0
- data/lib/high_level/models/store/delete_shipping_rate_response_dto.rb +12 -0
- data/lib/high_level/models/store/delete_shipping_zone_response_dto.rb +12 -0
- data/lib/high_level/models/store/get_available_shipping_rates.rb +12 -0
- data/lib/high_level/models/store/get_available_shipping_rates_response_dto.rb +12 -0
- data/lib/high_level/models/store/get_shipping_carrier_response_dto.rb +12 -0
- data/lib/high_level/models/store/get_shipping_rate_response_dto.rb +12 -0
- data/lib/high_level/models/store/get_shipping_zone_response_dto.rb +12 -0
- data/lib/high_level/models/store/get_store_setting_response_dto.rb +12 -0
- data/lib/high_level/models/store/list_shipping_carrier_response_dto.rb +12 -0
- data/lib/high_level/models/store/list_shipping_rate_response_dto.rb +12 -0
- data/lib/high_level/models/store/list_shipping_zone_response_dto.rb +12 -0
- data/lib/high_level/models/store/order_source.rb +12 -0
- data/lib/high_level/models/store/product_item.rb +12 -0
- data/lib/high_level/models/store/shipping_carrier_schema.rb +12 -0
- data/lib/high_level/models/store/shipping_carrier_service_dto.rb +12 -0
- data/lib/high_level/models/store/shipping_rate_schema.rb +12 -0
- data/lib/high_level/models/store/shipping_zone_country_dto.rb +12 -0
- data/lib/high_level/models/store/shipping_zone_country_state_dto.rb +12 -0
- data/lib/high_level/models/store/shipping_zone_schema.rb +12 -0
- data/lib/high_level/models/store/store_order_fulfillment_notification_dto.rb +12 -0
- data/lib/high_level/models/store/store_order_notification_dto.rb +12 -0
- data/lib/high_level/models/store/store_setting_schema.rb +12 -0
- data/lib/high_level/models/store/store_shipping_origin_dto.rb +12 -0
- data/lib/high_level/models/store/update_shipping_carrier_dto.rb +12 -0
- data/lib/high_level/models/store/update_shipping_carrier_response_dto.rb +12 -0
- data/lib/high_level/models/store/update_shipping_rate_dto.rb +12 -0
- data/lib/high_level/models/store/update_shipping_rate_response_dto.rb +12 -0
- data/lib/high_level/models/store/update_shipping_zone_dto.rb +12 -0
- data/lib/high_level/models/store/update_shipping_zone_response_dto.rb +12 -0
- data/lib/high_level/models/surveys/contact_session_ids.rb +12 -0
- data/lib/high_level/models/surveys/event_data_schema.rb +12 -0
- data/lib/high_level/models/surveys/get_surveys_schema.rb +12 -0
- data/lib/high_level/models/surveys/get_surveys_submission_successful_response_dto.rb +12 -0
- data/lib/high_level/models/surveys/get_surveys_successful_response_dto.rb +12 -0
- data/lib/high_level/models/surveys/meta_schema.rb +12 -0
- data/lib/high_level/models/surveys/others_schema.rb +12 -0
- data/lib/high_level/models/surveys/page_details_schema.rb +12 -0
- data/lib/high_level/models/surveys/submission_schema.rb +12 -0
- data/lib/high_level/models/users/create_user_dto.rb +12 -0
- data/lib/high_level/models/users/delete_user_successful_response_dto.rb +12 -0
- data/lib/high_level/models/users/filter_by_email_dto.rb +12 -0
- data/lib/high_level/models/users/location_successful_response_dto.rb +12 -0
- data/lib/high_level/models/users/permissions_dto.rb +12 -0
- data/lib/high_level/models/users/role_schema.rb +12 -0
- data/lib/high_level/models/users/search_user_successful_response_dto.rb +12 -0
- data/lib/high_level/models/users/update_user_dto.rb +12 -0
- data/lib/high_level/models/users/user_schema.rb +12 -0
- data/lib/high_level/models/users/user_successful_response_dto.rb +12 -0
- data/lib/high_level/models/voice_ai/agent_action_response_dto.rb +12 -0
- data/lib/high_level/models/voice_ai/agent_creation_request_dto.rb +12 -0
- data/lib/high_level/models/voice_ai/agent_working_hours_dto.rb +12 -0
- data/lib/high_level/models/voice_ai/appointment_booking_action_parameters.rb +12 -0
- data/lib/high_level/models/voice_ai/call_action_schema.rb +12 -0
- data/lib/high_level/models/voice_ai/call_log_dto.rb +12 -0
- data/lib/high_level/models/voice_ai/call_logs_response_dto.rb +12 -0
- data/lib/high_level/models/voice_ai/call_transfer_action_parameters.rb +12 -0
- data/lib/high_level/models/voice_ai/create_action_response_dto.rb +12 -0
- data/lib/high_level/models/voice_ai/create_agent_response_dto.rb +12 -0
- data/lib/high_level/models/voice_ai/create_single_action_dto.rb +12 -0
- data/lib/high_level/models/voice_ai/custom_action_api_details_dto.rb +12 -0
- data/lib/high_level/models/voice_ai/custom_action_header_dto.rb +12 -0
- data/lib/high_level/models/voice_ai/custom_action_parameter_dto.rb +12 -0
- data/lib/high_level/models/voice_ai/custom_action_parameters.rb +12 -0
- data/lib/high_level/models/voice_ai/data_extraction_action_parameters.rb +12 -0
- data/lib/high_level/models/voice_ai/extracted_data_schema.rb +12 -0
- data/lib/high_level/models/voice_ai/get_action_response_dto.rb +12 -0
- data/lib/high_level/models/voice_ai/get_agent_response_dto.rb +12 -0
- data/lib/high_level/models/voice_ai/get_agents_response_dto.rb +12 -0
- data/lib/high_level/models/voice_ai/in_call_data_extraction_action_parameters.rb +12 -0
- data/lib/high_level/models/voice_ai/interval_dto.rb +12 -0
- data/lib/high_level/models/voice_ai/knowledge_base_parameters.rb +12 -0
- data/lib/high_level/models/voice_ai/patch_agent_dto.rb +12 -0
- data/lib/high_level/models/voice_ai/patch_agent_response_dto.rb +12 -0
- data/lib/high_level/models/voice_ai/send_post_call_notification_dto.rb +12 -0
- data/lib/high_level/models/voice_ai/send_post_call_notification_schema.rb +12 -0
- data/lib/high_level/models/voice_ai/sms_parameters.rb +12 -0
- data/lib/high_level/models/voice_ai/translation_dto.rb +12 -0
- data/lib/high_level/models/voice_ai/translation_schema.rb +12 -0
- data/lib/high_level/models/voice_ai/update_action_response_dto.rb +12 -0
- data/lib/high_level/models/voice_ai/update_single_action_dto.rb +12 -0
- data/lib/high_level/models/voice_ai/workflow_trigger_parameters.rb +12 -0
- data/lib/high_level/models/workflows/get_workflow_successful_response_dto.rb +12 -0
- data/lib/high_level/models/workflows/workflow_schema.rb +12 -0
- data/lib/high_level/oauth.rb +106 -0
- data/lib/high_level/pagination.rb +71 -0
- data/lib/high_level/resource_registry.rb +49 -0
- data/lib/high_level/resources/ad_manager.rb +1140 -0
- data/lib/high_level/resources/affiliate_manager.rb +57 -0
- data/lib/high_level/resources/agent_studio.rb +164 -0
- data/lib/high_level/resources/associations.rb +126 -0
- data/lib/high_level/resources/base.rb +46 -0
- data/lib/high_level/resources/blogs.rb +94 -0
- data/lib/high_level/resources/brand_boards.rb +68 -0
- data/lib/high_level/resources/businesses.rb +58 -0
- data/lib/high_level/resources/calendars.rb +471 -0
- data/lib/high_level/resources/campaigns.rb +20 -0
- data/lib/high_level/resources/companies.rb +21 -0
- data/lib/high_level/resources/contacts.rb +339 -0
- data/lib/high_level/resources/conversation_ai.rb +149 -0
- data/lib/high_level/resources/conversations.rb +349 -0
- data/lib/high_level/resources/courses.rb +22 -0
- data/lib/high_level/resources/custom_fields.rb +280 -0
- data/lib/high_level/resources/custom_menus.rb +68 -0
- data/lib/high_level/resources/email_isv.rb +23 -0
- data/lib/high_level/resources/emails.rb +61 -0
- data/lib/high_level/resources/forms.rb +43 -0
- data/lib/high_level/resources/funnels.rb +94 -0
- data/lib/high_level/resources/invoices.rb +513 -0
- data/lib/high_level/resources/knowledge_base.rb +163 -0
- data/lib/high_level/resources/links.rb +75 -0
- data/lib/high_level/resources/locations.rb +328 -0
- data/lib/high_level/resources/marketplace.rb +103 -0
- data/lib/high_level/resources/medias.rb +94 -0
- data/lib/high_level/resources/objects.rb +117 -0
- data/lib/high_level/resources/opportunities.rb +133 -0
- data/lib/high_level/resources/payments.rb +289 -0
- data/lib/high_level/resources/phone_system.rb +58 -0
- data/lib/high_level/resources/products.rb +332 -0
- data/lib/high_level/resources/proposals.rb +62 -0
- data/lib/high_level/resources/saas_api.rb +334 -0
- data/lib/high_level/resources/snapshots.rb +59 -0
- data/lib/high_level/resources/social_media_posting.rb +618 -0
- data/lib/high_level/resources/store.rb +244 -0
- data/lib/high_level/resources/surveys.rb +30 -0
- data/lib/high_level/resources/users.rb +82 -0
- data/lib/high_level/resources/voice_ai.rb +143 -0
- data/lib/high_level/resources/workflows.rb +20 -0
- data/lib/high_level/storage/active_record.rb +121 -0
- data/lib/high_level/storage/base.rb +81 -0
- data/lib/high_level/storage/memory.rb +108 -0
- data/lib/high_level/storage/mongo.rb +116 -0
- data/lib/high_level/storage/redis.rb +100 -0
- data/lib/high_level/token_refresher.rb +116 -0
- data/lib/high_level/token_resolver.rb +158 -0
- data/lib/high_level/version.rb +6 -0
- data/lib/high_level/webhooks.rb +76 -0
- data/lib/high_level.rb +25 -0
- metadata +1237 -0
checksums.yaml
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: 79fd32db7abd8de22b946e8feb81e7dcd8ee457473c0519688599d46f22f869a
|
|
4
|
+
data.tar.gz: 2d5acf1de935a8c8ee59f57a31bc7b5aaab4b11f610b738a0bba6667ebc6da0e
|
|
5
|
+
SHA512:
|
|
6
|
+
metadata.gz: dc32b529a415a681f940d61518dc4874e7493e0424b1df8ec9b111dbe5bb14ebab834fa5ad1e1e8475262a0b1aa6b22761031fab13dbbf418c728edd270dcf42
|
|
7
|
+
data.tar.gz: 938c84c8a33823b327445036625a89a1a36c570bee0458017c9e778ad94cd15a36785dc502a5cc79efe65e93bce413652a5edf6b1b2c5f0321856fc66e68ea21
|
data/LICENSE.txt
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Rob Zolkos
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in
|
|
13
|
+
all copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
21
|
+
THE SOFTWARE.
|
data/README.md
ADDED
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
# gohighlevel
|
|
2
|
+
|
|
3
|
+
A Ruby SDK for the [HighLevel](https://highlevel.com) (GoHighLevel) API.
|
|
4
|
+
|
|
5
|
+
- Resource methods generated from the official OpenAPI spec — 40 apps, 700+ endpoints.
|
|
6
|
+
- Runtime behaviour (auth resolution, OAuth refresh, webhook verification) hand-written and tested against the canonical docs.
|
|
7
|
+
- Faraday 2 transport, Zeitwerk loader, immutable per-client configuration — no global mutable state.
|
|
8
|
+
- Ruby 3.3+.
|
|
9
|
+
|
|
10
|
+
## Installation
|
|
11
|
+
|
|
12
|
+
```ruby
|
|
13
|
+
# Gemfile
|
|
14
|
+
gem "gohighlevel"
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
```sh
|
|
18
|
+
bundle add gohighlevel
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
The storage-backend gems (`redis`, `activerecord`, `mongo`) are **not** runtime dependencies — add whichever you need to your own `Gemfile`. The default in-memory store needs nothing.
|
|
22
|
+
|
|
23
|
+
## Quickstart
|
|
24
|
+
|
|
25
|
+
```ruby
|
|
26
|
+
require "gohighlevel"
|
|
27
|
+
|
|
28
|
+
client = HighLevel::Client.new(private_integration_token: "pit-xxxxxxxx")
|
|
29
|
+
|
|
30
|
+
# Every app is a resource on the client.
|
|
31
|
+
contacts = client.contacts.search_contacts_advanced(
|
|
32
|
+
body: { locationId: "loc-123", pageLimit: 20 }
|
|
33
|
+
)
|
|
34
|
+
|
|
35
|
+
tasks = client.contacts.get_all_tasks(contact_id: "contact-456")
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
Resource method names are the spec's `operationId` in snake_case. Path parameters are required keyword arguments; query parameters are optional keyword arguments; a request body (when the endpoint declares one) is the `body:` keyword argument.
|
|
39
|
+
|
|
40
|
+
## Authentication
|
|
41
|
+
|
|
42
|
+
`HighLevel::Client.new` accepts one of four credential modes. Configuration is immutable and per-instance.
|
|
43
|
+
|
|
44
|
+
```ruby
|
|
45
|
+
# 1. Private Integration Token — simplest, always wins when present.
|
|
46
|
+
HighLevel::Client.new(private_integration_token: "pit-xxxx")
|
|
47
|
+
|
|
48
|
+
# 2. Agency access token.
|
|
49
|
+
HighLevel::Client.new(agency_access_token: "agency-xxxx")
|
|
50
|
+
|
|
51
|
+
# 3. Location access token.
|
|
52
|
+
HighLevel::Client.new(location_access_token: "loc-xxxx")
|
|
53
|
+
|
|
54
|
+
# 4. OAuth app credentials — required for the OAuth flows + 401 refresh.
|
|
55
|
+
HighLevel::Client.new(client_id: "xxxx", client_secret: "xxxx")
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
You can also pass a prebuilt `HighLevel::Configuration`:
|
|
59
|
+
|
|
60
|
+
```ruby
|
|
61
|
+
config = HighLevel::Configuration.new(
|
|
62
|
+
private_integration_token: "pit-xxxx",
|
|
63
|
+
api_version: "2021-07-28",
|
|
64
|
+
session_storage: HighLevel::Storage::Memory.new,
|
|
65
|
+
instrumenter: ActiveSupport::Notifications
|
|
66
|
+
)
|
|
67
|
+
HighLevel::Client.new(config)
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
For OAuth-secured endpoints, the SDK resolves the right token per request from the operation's declared security requirements (`Agency-Access`, `Location-Access`, `bearer`, ...), falling back to session storage when no direct token is configured.
|
|
71
|
+
|
|
72
|
+
### OAuth flows
|
|
73
|
+
|
|
74
|
+
```ruby
|
|
75
|
+
client = HighLevel::Client.new(
|
|
76
|
+
client_id: "xxxx",
|
|
77
|
+
client_secret: "xxxx",
|
|
78
|
+
redirect_uri: "https://your.app/oauth/callback"
|
|
79
|
+
)
|
|
80
|
+
|
|
81
|
+
# 1. Send the user here to authorize.
|
|
82
|
+
url = client.oauth.authorization_url(scope: "contacts.readonly contacts.write")
|
|
83
|
+
|
|
84
|
+
# 2. Exchange the code that comes back on your callback.
|
|
85
|
+
tokens = client.oauth.exchange_code(code: params[:code], user_type: "Location")
|
|
86
|
+
|
|
87
|
+
# 3. Refresh later.
|
|
88
|
+
tokens = client.oauth.refresh_token(refresh_token: stored_refresh, user_type: "Location")
|
|
89
|
+
|
|
90
|
+
# 4. Derive a location token from an agency token.
|
|
91
|
+
tokens = client.oauth.get_location_access_token(company_id: "co-1", location_id: "loc-1")
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
When a request returns `401`, the SDK transparently attempts a refresh (using the session in storage), retries once, and — for location tokens — falls back to re-deriving from the company token. A second `401` is propagated, not looped.
|
|
95
|
+
|
|
96
|
+
## Storage backends
|
|
97
|
+
|
|
98
|
+
Session storage holds OAuth tokens keyed by resource (company/location) id. `HighLevel::Storage::Memory` is the default and needs no configuration.
|
|
99
|
+
|
|
100
|
+
| Backend | When to use | Extra gem |
|
|
101
|
+
|---|---|---|
|
|
102
|
+
| `Storage::Memory` | Tests, single-process apps | — (default) |
|
|
103
|
+
| `Storage::ActiveRecord` | Rails apps with an existing database | `activerecord` |
|
|
104
|
+
| `Storage::Redis` | Multi-process workers sharing tokens | `redis` |
|
|
105
|
+
| `Storage::Mongo` | Parity with TS SDK consumers sharing a Mongo store | `mongo` |
|
|
106
|
+
|
|
107
|
+
```ruby
|
|
108
|
+
# Redis
|
|
109
|
+
store = HighLevel::Storage::Redis.new(url: "redis://localhost:6379/0")
|
|
110
|
+
HighLevel::Client.new(client_id: "x", client_secret: "y", session_storage: store)
|
|
111
|
+
|
|
112
|
+
# ActiveRecord — once, in a migration:
|
|
113
|
+
HighLevel::Storage::ActiveRecord::Migration.create_table!(connection)
|
|
114
|
+
store = HighLevel::Storage::ActiveRecord.new
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
All backends satisfy the same contract (`test/support/session_storage_contract.rb`). Writing your own: subclass `HighLevel::Storage::Base` and implement the seven methods.
|
|
118
|
+
|
|
119
|
+
## Webhook verification
|
|
120
|
+
|
|
121
|
+
HighLevel signs webhooks with its private key and publishes the public key — verification is asymmetric, not HMAC. Two schemes are supported: `:rsa` (signature on the `x-wh-signature` header) and `:ed25519` (`x-ghl-signature`).
|
|
122
|
+
|
|
123
|
+
```ruby
|
|
124
|
+
# Sinatra
|
|
125
|
+
post "/webhooks/highlevel" do
|
|
126
|
+
body = request.body.read
|
|
127
|
+
HighLevel::Webhooks.verify(
|
|
128
|
+
payload: body,
|
|
129
|
+
signature: request.env["HTTP_X_WH_SIGNATURE"],
|
|
130
|
+
public_key: ENV.fetch("HIGHLEVEL_WEBHOOK_PUBLIC_KEY"),
|
|
131
|
+
scheme: :rsa
|
|
132
|
+
)
|
|
133
|
+
# raises HighLevel::Webhooks::InvalidSignatureError if it doesn't verify
|
|
134
|
+
process(JSON.parse(body))
|
|
135
|
+
status 200
|
|
136
|
+
rescue HighLevel::Webhooks::InvalidSignatureError
|
|
137
|
+
halt 401
|
|
138
|
+
end
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
```ruby
|
|
142
|
+
# Rails controller
|
|
143
|
+
def highlevel
|
|
144
|
+
HighLevel::Webhooks.verify(
|
|
145
|
+
payload: request.raw_post,
|
|
146
|
+
signature: request.headers["X-Wh-Signature"],
|
|
147
|
+
public_key: Rails.application.credentials.highlevel_webhook_public_key
|
|
148
|
+
)
|
|
149
|
+
ProcessWebhookJob.perform_later(request.raw_post)
|
|
150
|
+
head :ok
|
|
151
|
+
rescue HighLevel::Webhooks::InvalidSignatureError
|
|
152
|
+
head :unauthorized
|
|
153
|
+
end
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
Pass the **raw request body bytes** — re-serializing a parsed JSON object changes the canonical form and breaks verification.
|
|
157
|
+
|
|
158
|
+
## Pagination
|
|
159
|
+
|
|
160
|
+
The HighLevel API has no uniform pagination convention, so nothing is auto-paginated. `HighLevel::Pagination` is opt-in.
|
|
161
|
+
|
|
162
|
+
```ruby
|
|
163
|
+
# A proc that routes pagination params wherever the endpoint wants them.
|
|
164
|
+
fetch = ->(**page) do
|
|
165
|
+
client.contacts.search_contacts_advanced(body: { locationId: "loc-1" }.merge(page))
|
|
166
|
+
end
|
|
167
|
+
|
|
168
|
+
# Each page (raw response):
|
|
169
|
+
HighLevel::Pagination.each_page(fetch, cursor_field: :skip, items_field: "contacts") do |page|
|
|
170
|
+
puts page["contacts"].size
|
|
171
|
+
end
|
|
172
|
+
|
|
173
|
+
# Each item, flattened across pages:
|
|
174
|
+
HighLevel::Pagination.each_item(fetch, cursor_field: :skip, items_field: "contacts") do |contact|
|
|
175
|
+
puts contact["id"]
|
|
176
|
+
end
|
|
177
|
+
|
|
178
|
+
# Without a block, you get an Enumerator:
|
|
179
|
+
enum = HighLevel::Pagination.each_item(fetch, cursor_field: :skip, items_field: "contacts")
|
|
180
|
+
enum.lazy.select { |c| c["type"] == "lead" }.first(10)
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
`cursor_field` is the parameter the endpoint advances on (`:offset`, `:skip`, ...). `limit_field` defaults to `:limit`; `page_size` defaults to `100`.
|
|
184
|
+
|
|
185
|
+
## Error handling
|
|
186
|
+
|
|
187
|
+
Every non-2xx response raises a typed exception carrying `#status`, `#response_body`, and `#request_id`.
|
|
188
|
+
|
|
189
|
+
```ruby
|
|
190
|
+
begin
|
|
191
|
+
client.contacts.get_all_tasks(contact_id: "missing")
|
|
192
|
+
rescue HighLevel::NotFoundError => e
|
|
193
|
+
e.status # => 404
|
|
194
|
+
e.response_body # => parsed JSON body
|
|
195
|
+
e.request_id # => the x-request-id header, if present
|
|
196
|
+
end
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
| Exception | Trigger |
|
|
200
|
+
|---|---|
|
|
201
|
+
| `HighLevel::BadRequestError` | 400 |
|
|
202
|
+
| `HighLevel::UnauthorizedError` | 401 |
|
|
203
|
+
| `HighLevel::ForbiddenError` | 403 |
|
|
204
|
+
| `HighLevel::NotFoundError` | 404 |
|
|
205
|
+
| `HighLevel::UnprocessableEntityError` | 422 |
|
|
206
|
+
| `HighLevel::RateLimitError` | 429 |
|
|
207
|
+
| `HighLevel::ServerError` | 5xx |
|
|
208
|
+
| `HighLevel::Error` | other non-2xx |
|
|
209
|
+
| `HighLevel::ConfigurationError` | bad/missing credentials |
|
|
210
|
+
| `HighLevel::NetworkError` | transport-level failure |
|
|
211
|
+
|
|
212
|
+
All inherit from `HighLevel::Error`, so `rescue HighLevel::Error` catches everything.
|
|
213
|
+
|
|
214
|
+
## Instrumentation
|
|
215
|
+
|
|
216
|
+
The SDK emits no logs. Pass any object responding to `#instrument(name, payload, &block)` — `ActiveSupport::Notifications` is the obvious one — as `instrumenter:` and subscribe to the `request.high_level` event.
|
|
217
|
+
|
|
218
|
+
```ruby
|
|
219
|
+
client = HighLevel::Client.new(
|
|
220
|
+
private_integration_token: "pit-xxxx",
|
|
221
|
+
instrumenter: ActiveSupport::Notifications
|
|
222
|
+
)
|
|
223
|
+
|
|
224
|
+
ActiveSupport::Notifications.subscribe("request.high_level") do |*, payload|
|
|
225
|
+
Rails.logger.info("HighLevel #{payload[:method].upcase} #{payload[:url]} → #{payload[:status]}")
|
|
226
|
+
end
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
With no `instrumenter` configured, the instrumentation middleware is a transparent pass-through.
|
|
230
|
+
|
|
231
|
+
## Differences from the official TypeScript SDK
|
|
232
|
+
|
|
233
|
+
- **Naming** — methods are snake_case; arguments are keyword arguments.
|
|
234
|
+
- **No global state** — every collaborator is injected through `HighLevel::Configuration`; there is no global mutable config. Thread-safe by construction.
|
|
235
|
+
- **Webhook verification raises** — `HighLevel::Webhooks.verify` returns `true` or raises `InvalidSignatureError`, rather than returning a boolean.
|
|
236
|
+
- **Pagination is explicit** — `HighLevel::Pagination` is opt-in; resource methods never auto-paginate.
|
|
237
|
+
- **Storage gems are optional** — `redis`/`activerecord`/`mongo` are lazy-required, not runtime dependencies.
|
|
238
|
+
- **Generated code is committed** — `bundle add gohighlevel` gives you a working library; there is no install-time codegen.
|
|
239
|
+
|
|
240
|
+
## Contributing
|
|
241
|
+
|
|
242
|
+
See [CONTRIBUTING.md](CONTRIBUTING.md) for the spec-sync, regeneration, and drift-check workflows.
|
|
243
|
+
|
|
244
|
+
## License
|
|
245
|
+
|
|
246
|
+
MIT — see [LICENSE.txt](LICENSE.txt).
|
data/gohighlevel.gemspec
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative "lib/high_level/version"
|
|
4
|
+
|
|
5
|
+
Gem::Specification.new do |spec|
|
|
6
|
+
spec.name = "gohighlevel"
|
|
7
|
+
spec.version = HighLevel::VERSION
|
|
8
|
+
spec.authors = ["Rob Zolkos"]
|
|
9
|
+
spec.email = ["rob@zolkos.com"]
|
|
10
|
+
|
|
11
|
+
spec.summary = "Ruby SDK for the HighLevel (GoHighLevel) API."
|
|
12
|
+
spec.description = "A Ruby SDK for the HighLevel (GoHighLevel) API, generated from the " \
|
|
13
|
+
"official OpenAPI spec with runtime behavior validated against the " \
|
|
14
|
+
"official TypeScript SDK."
|
|
15
|
+
spec.homepage = "https://github.com/robzolkos/gohighlevel"
|
|
16
|
+
spec.license = "MIT"
|
|
17
|
+
spec.required_ruby_version = ">= 3.3"
|
|
18
|
+
|
|
19
|
+
spec.metadata["homepage_uri"] = spec.homepage
|
|
20
|
+
spec.metadata["source_code_uri"] = "#{spec.homepage}/tree/master"
|
|
21
|
+
spec.metadata["changelog_uri"] = "#{spec.homepage}/releases"
|
|
22
|
+
spec.metadata["rubygems_mfa_required"] = "true"
|
|
23
|
+
|
|
24
|
+
spec.files = Dir["lib/**/*.rb"] + %w[README.md LICENSE.txt gohighlevel.gemspec]
|
|
25
|
+
spec.require_paths = ["lib"]
|
|
26
|
+
|
|
27
|
+
spec.add_dependency "base64", "~> 0.2"
|
|
28
|
+
spec.add_dependency "faraday", "~> 2.0"
|
|
29
|
+
spec.add_dependency "faraday-multipart", "~> 1.0"
|
|
30
|
+
spec.add_dependency "zeitwerk", "~> 2.6"
|
|
31
|
+
end
|
data/lib/gohighlevel.rb
ADDED
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module HighLevel
|
|
4
|
+
# The entry point for the SDK. Construct one with credentials, then
|
|
5
|
+
# reach each API app as a resource: +client.contacts+,
|
|
6
|
+
# +client.calendars+, and so on (see +RESOURCE_REGISTRY+). OAuth flows
|
|
7
|
+
# live on +client.oauth+.
|
|
8
|
+
#
|
|
9
|
+
# @!attribute [r] config
|
|
10
|
+
# @return [HighLevel::Configuration] the resolved, immutable configuration
|
|
11
|
+
# @!attribute [r] connection
|
|
12
|
+
# @return [Faraday::Connection] the underlying HTTP connection with the
|
|
13
|
+
# full middleware stack
|
|
14
|
+
# @!attribute [r] oauth
|
|
15
|
+
# @return [HighLevel::Oauth] the OAuth flow client
|
|
16
|
+
class Client
|
|
17
|
+
attr_reader :config, :connection, :oauth
|
|
18
|
+
|
|
19
|
+
# @param config [HighLevel::Configuration, Hash, nil] a configuration
|
|
20
|
+
# object, a hash of configuration options, or nil to build one
|
|
21
|
+
# entirely from keyword arguments
|
|
22
|
+
# @param opts [Hash] configuration options, merged over +config+
|
|
23
|
+
# @raise [ConfigurationError] when no usable credentials are supplied
|
|
24
|
+
def initialize(config = nil, **opts)
|
|
25
|
+
@config = coerce_config(config, opts)
|
|
26
|
+
validate!
|
|
27
|
+
initialize_storage
|
|
28
|
+
@oauth = Oauth.new(config: @config)
|
|
29
|
+
@connection = build_connection
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
# @return [Boolean] whether +name+ is a registered resource accessor
|
|
33
|
+
def respond_to_missing?(name, include_private = false)
|
|
34
|
+
RESOURCE_REGISTRY.key?(name) || super
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
# Resolves +client.<app>+ to a memoized resource instance via
|
|
38
|
+
# +RESOURCE_REGISTRY+.
|
|
39
|
+
def method_missing(name, *args, **kwargs, &block)
|
|
40
|
+
klass = RESOURCE_REGISTRY[name]
|
|
41
|
+
return super unless klass && args.empty? && kwargs.empty? && block.nil?
|
|
42
|
+
|
|
43
|
+
@resources ||= {}
|
|
44
|
+
@resources[name] ||= klass.new(self)
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
private
|
|
48
|
+
|
|
49
|
+
def coerce_config(config, opts)
|
|
50
|
+
case config
|
|
51
|
+
when Configuration then config
|
|
52
|
+
when Hash then Configuration.new(**config, **opts)
|
|
53
|
+
when nil then Configuration.new(**opts)
|
|
54
|
+
else
|
|
55
|
+
raise ConfigurationError,
|
|
56
|
+
"expected HighLevel::Configuration or Hash, got #{config.class}"
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
def validate!
|
|
61
|
+
return if any_token? || oauth_client_pair?
|
|
62
|
+
|
|
63
|
+
raise ConfigurationError,
|
|
64
|
+
"HighLevel::Client requires one of: private_integration_token, " \
|
|
65
|
+
"agency_access_token, location_access_token, or client_id+client_secret"
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
def any_token?
|
|
69
|
+
@config.private_integration_token ||
|
|
70
|
+
@config.agency_access_token ||
|
|
71
|
+
@config.location_access_token
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
def oauth_client_pair?
|
|
75
|
+
@config.client_id && @config.client_secret
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
def initialize_storage
|
|
79
|
+
storage = @config.session_storage
|
|
80
|
+
return if storage.nil?
|
|
81
|
+
|
|
82
|
+
storage.set_client_id(@config.client_id) if @config.client_id
|
|
83
|
+
storage.init
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
def build_connection
|
|
87
|
+
resolver = TokenResolver.new(config: @config, storage: @config.session_storage)
|
|
88
|
+
refresher = TokenRefresher.new(config: @config, oauth: @oauth, storage: @config.session_storage)
|
|
89
|
+
build_faraday(resolver, refresher)
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
def build_faraday(resolver, refresher)
|
|
93
|
+
Faraday.new(url: @config.base_url) do |f|
|
|
94
|
+
f.use Middleware::Instrumentation, instrumenter: @config.instrumenter
|
|
95
|
+
f.use Middleware::RefreshOn401, refresher: refresher, resolver: resolver
|
|
96
|
+
f.use Middleware::Authentication, config: @config, resolver: resolver
|
|
97
|
+
f.request :json
|
|
98
|
+
f.use Middleware::ErrorHandler
|
|
99
|
+
f.response :json, content_type: /\bjson\b/
|
|
100
|
+
f.adapter Faraday.default_adapter
|
|
101
|
+
end
|
|
102
|
+
end
|
|
103
|
+
end
|
|
104
|
+
end
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module HighLevel
|
|
4
|
+
# Immutable, per-client configuration. Every collaborator a {Client}
|
|
5
|
+
# needs — credentials, base URL, session storage, instrumenter — is
|
|
6
|
+
# supplied here; there is no global mutable state.
|
|
7
|
+
#
|
|
8
|
+
# @!attribute [r] api_version
|
|
9
|
+
# @return [String] the +Version+ header value sent on every request
|
|
10
|
+
# @!attribute [r] base_url
|
|
11
|
+
# @return [String] the API base URL
|
|
12
|
+
# @!attribute [r] private_integration_token
|
|
13
|
+
# @return [String, nil] a Private Integration Token
|
|
14
|
+
# @!attribute [r] agency_access_token
|
|
15
|
+
# @return [String, nil] an agency-level access token
|
|
16
|
+
# @!attribute [r] location_access_token
|
|
17
|
+
# @return [String, nil] a location-level access token
|
|
18
|
+
# @!attribute [r] client_id
|
|
19
|
+
# @return [String, nil] the OAuth app client id
|
|
20
|
+
# @!attribute [r] client_secret
|
|
21
|
+
# @return [String, nil] the OAuth app client secret
|
|
22
|
+
# @!attribute [r] redirect_uri
|
|
23
|
+
# @return [String, nil] the OAuth redirect URI
|
|
24
|
+
# @!attribute [r] session_storage
|
|
25
|
+
# @return [HighLevel::Storage::Base] the session store (defaults to a
|
|
26
|
+
# fresh {Storage::Memory})
|
|
27
|
+
# @!attribute [r] logger
|
|
28
|
+
# @return [Logger, nil] an optional Ruby logger
|
|
29
|
+
# @!attribute [r] instrumenter
|
|
30
|
+
# @return [#instrument, nil] an optional instrumenter (e.g.
|
|
31
|
+
# +ActiveSupport::Notifications+)
|
|
32
|
+
Configuration = Data.define(
|
|
33
|
+
:api_version,
|
|
34
|
+
:base_url,
|
|
35
|
+
:private_integration_token,
|
|
36
|
+
:agency_access_token,
|
|
37
|
+
:location_access_token,
|
|
38
|
+
:client_id,
|
|
39
|
+
:client_secret,
|
|
40
|
+
:redirect_uri,
|
|
41
|
+
:session_storage,
|
|
42
|
+
:logger,
|
|
43
|
+
:instrumenter
|
|
44
|
+
) do
|
|
45
|
+
# @see Configuration the attribute list for every keyword argument
|
|
46
|
+
def initialize(
|
|
47
|
+
api_version: "2021-07-28",
|
|
48
|
+
base_url: "https://services.leadconnectorhq.com",
|
|
49
|
+
private_integration_token: nil,
|
|
50
|
+
agency_access_token: nil,
|
|
51
|
+
location_access_token: nil,
|
|
52
|
+
client_id: nil,
|
|
53
|
+
client_secret: nil,
|
|
54
|
+
redirect_uri: nil,
|
|
55
|
+
session_storage: Storage::Memory.new,
|
|
56
|
+
logger: nil,
|
|
57
|
+
instrumenter: nil
|
|
58
|
+
)
|
|
59
|
+
super
|
|
60
|
+
end
|
|
61
|
+
end
|
|
62
|
+
end
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module HighLevel
|
|
4
|
+
# Base class for every error the SDK raises. Carries the HTTP context
|
|
5
|
+
# of the failed request where one is available.
|
|
6
|
+
#
|
|
7
|
+
# @!attribute [r] status
|
|
8
|
+
# @return [Integer, nil] the HTTP status code, when the error came
|
|
9
|
+
# from a response
|
|
10
|
+
# @!attribute [r] response_body
|
|
11
|
+
# @return [Object, nil] the parsed response body, when available
|
|
12
|
+
# @!attribute [r] request_id
|
|
13
|
+
# @return [String, nil] the +x-request-id+ response header, when present
|
|
14
|
+
class Error < StandardError
|
|
15
|
+
attr_reader :status, :response_body, :request_id
|
|
16
|
+
|
|
17
|
+
# @param message [String, nil] human-readable error message
|
|
18
|
+
# @param status [Integer, nil] HTTP status code
|
|
19
|
+
# @param response_body [Object, nil] parsed response body
|
|
20
|
+
# @param request_id [String, nil] the +x-request-id+ header value
|
|
21
|
+
def initialize(message = nil, status: nil, response_body: nil, request_id: nil)
|
|
22
|
+
super(message)
|
|
23
|
+
@status = status
|
|
24
|
+
@response_body = response_body
|
|
25
|
+
@request_id = request_id
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
# Raised on a missing or malformed client configuration.
|
|
30
|
+
class ConfigurationError < Error; end
|
|
31
|
+
# Raised on a transport-level failure (connection refused, timeout, ...).
|
|
32
|
+
class NetworkError < Error; end
|
|
33
|
+
# Raised on an HTTP 400 response.
|
|
34
|
+
class BadRequestError < Error; end
|
|
35
|
+
# Raised on an HTTP 401 response.
|
|
36
|
+
class UnauthorizedError < Error; end
|
|
37
|
+
# Raised on an HTTP 403 response.
|
|
38
|
+
class ForbiddenError < Error; end
|
|
39
|
+
# Raised on an HTTP 404 response.
|
|
40
|
+
class NotFoundError < Error; end
|
|
41
|
+
# Raised on an HTTP 422 response.
|
|
42
|
+
class UnprocessableEntityError < Error; end
|
|
43
|
+
# Raised on an HTTP 429 response.
|
|
44
|
+
class RateLimitError < Error; end
|
|
45
|
+
# Raised on an HTTP 5xx response.
|
|
46
|
+
class ServerError < Error; end
|
|
47
|
+
end
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module HighLevel
|
|
4
|
+
# Faraday middleware that implements the HighLevel client's request
|
|
5
|
+
# pipeline: instrumentation, 401-refresh, authentication, and typed
|
|
6
|
+
# error mapping.
|
|
7
|
+
module Middleware
|
|
8
|
+
# Injects the +Authorization+ and +Version+ headers. When the
|
|
9
|
+
# request carries a {CONTEXT_KEY} entry in its Faraday options
|
|
10
|
+
# context (set by generated resource methods), the bearer token is
|
|
11
|
+
# resolved through {TokenResolver}; otherwise it falls back to a
|
|
12
|
+
# simple credential-priority chain.
|
|
13
|
+
class Authentication < Faraday::Middleware
|
|
14
|
+
# The request-options context key under which generated resource
|
|
15
|
+
# code stashes the operation's security requirements.
|
|
16
|
+
CONTEXT_KEY = :high_level_security
|
|
17
|
+
|
|
18
|
+
# @param app [#call] the next middleware in the stack
|
|
19
|
+
# @param config [HighLevel::Configuration] the client configuration
|
|
20
|
+
# @param resolver [HighLevel::TokenResolver, nil] an explicit
|
|
21
|
+
# resolver; built from +config+/+storage+ when omitted
|
|
22
|
+
# @param storage [HighLevel::Storage::Base, nil] session storage,
|
|
23
|
+
# used only when +resolver+ is not supplied
|
|
24
|
+
def initialize(app, config:, resolver: nil, storage: nil)
|
|
25
|
+
super(app)
|
|
26
|
+
@config = config
|
|
27
|
+
@resolver = resolver || TokenResolver.new(config: config, storage: storage)
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
# Faraday request callback. Sets the +Version+ header and, unless
|
|
31
|
+
# one is already present, an +Authorization: Bearer+ header.
|
|
32
|
+
def on_request(env)
|
|
33
|
+
env.request_headers["Version"] ||= @config.api_version
|
|
34
|
+
return if env.request_headers["Authorization"]
|
|
35
|
+
|
|
36
|
+
env.request_headers["Authorization"] = "Bearer #{resolve_token(env)}"
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
private
|
|
40
|
+
|
|
41
|
+
def resolve_token(env)
|
|
42
|
+
ctx = security_context(env)
|
|
43
|
+
return simple_priority_token unless ctx
|
|
44
|
+
|
|
45
|
+
@resolver.resolve(
|
|
46
|
+
security_requirements: ctx[:security_requirements] || [],
|
|
47
|
+
headers: env.request_headers,
|
|
48
|
+
query: parse_query(env.url&.query),
|
|
49
|
+
body: env.body,
|
|
50
|
+
preference: ctx[:preference]
|
|
51
|
+
).token
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
def security_context(env)
|
|
55
|
+
opts = env.request
|
|
56
|
+
return nil unless opts.respond_to?(:context)
|
|
57
|
+
|
|
58
|
+
ctx = opts.context
|
|
59
|
+
return nil unless ctx.is_a?(Hash)
|
|
60
|
+
|
|
61
|
+
ctx[CONTEXT_KEY]
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
def simple_priority_token
|
|
65
|
+
@config.private_integration_token ||
|
|
66
|
+
@config.agency_access_token ||
|
|
67
|
+
@config.location_access_token ||
|
|
68
|
+
raise(HighLevel::ConfigurationError, "no token available for request")
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
def parse_query(query_string)
|
|
72
|
+
return {} if query_string.nil? || query_string.empty?
|
|
73
|
+
|
|
74
|
+
URI.decode_www_form(query_string).to_h
|
|
75
|
+
end
|
|
76
|
+
end
|
|
77
|
+
end
|
|
78
|
+
end
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module HighLevel
|
|
4
|
+
module Middleware
|
|
5
|
+
# Maps non-2xx responses to typed {HighLevel::Error} subclasses,
|
|
6
|
+
# raising one with the response's status, body, and request id.
|
|
7
|
+
class ErrorHandler < Faraday::Middleware
|
|
8
|
+
# HTTP status code to exception class. Unmapped 5xx codes raise
|
|
9
|
+
# {HighLevel::ServerError}; any other unmapped non-2xx raises the
|
|
10
|
+
# base {HighLevel::Error}.
|
|
11
|
+
STATUS_MAP = {
|
|
12
|
+
400 => HighLevel::BadRequestError,
|
|
13
|
+
401 => HighLevel::UnauthorizedError,
|
|
14
|
+
403 => HighLevel::ForbiddenError,
|
|
15
|
+
404 => HighLevel::NotFoundError,
|
|
16
|
+
422 => HighLevel::UnprocessableEntityError,
|
|
17
|
+
429 => HighLevel::RateLimitError
|
|
18
|
+
}.freeze
|
|
19
|
+
|
|
20
|
+
# Faraday response callback. Raises the mapped error for any
|
|
21
|
+
# non-2xx status; a no-op otherwise.
|
|
22
|
+
def on_complete(env)
|
|
23
|
+
return if env.status.between?(200, 299)
|
|
24
|
+
|
|
25
|
+
klass = STATUS_MAP[env.status] ||
|
|
26
|
+
(env.status >= 500 ? HighLevel::ServerError : HighLevel::Error)
|
|
27
|
+
|
|
28
|
+
raise klass.new(
|
|
29
|
+
"HTTP #{env.status} on #{env.method.to_s.upcase} #{env.url&.path}",
|
|
30
|
+
status: env.status,
|
|
31
|
+
response_body: env.body,
|
|
32
|
+
request_id: request_id_from(env)
|
|
33
|
+
)
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
private
|
|
37
|
+
|
|
38
|
+
def request_id_from(env)
|
|
39
|
+
headers = env.response_headers
|
|
40
|
+
return nil unless headers
|
|
41
|
+
|
|
42
|
+
headers["x-request-id"] || headers["X-Request-Id"]
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|