ghl-sdk 0.5.1

Unofficial async Rust SDK for the GoHighLevel (HighLevel) API 2.0 — OAuth 2.0, Private Integration Tokens, rate-limit-aware retries, paginated streams
Documentation
// @generated by xtask/generate_services.py — do not edit by hand.
//! Generated typed services — one per GoHighLevel API module, each
//! covering every operation that module exposes.
//!
//! This module holds the **API v2** services (the stable API), reached
//! directly on the client: `ghl.invoices()`. API [`v3`] services live in the
//! submodule and are reached via `ghl.v3().invoices()`.
//!
//! Each module here is behind a cargo feature of the same name, which also
//! pulls in the matching `ghl-models` DTOs. Enable only what you use:
//! compiling every module is far slower than compiling one.

pub mod v3;

/// Percent-encode a value being interpolated into a URL path segment.
///
/// Only the generated services call this, and each is feature-gated, so with
/// no module features enabled it is legitimately unused.
#[allow(dead_code)]
pub(crate) fn encode(s: &str) -> String {
    s.chars()
        .flat_map(|c| match c {
            'A'..='Z' | 'a'..='z' | '0'..='9' | '-' | '_' | '.' | '~' => vec![c],
            _ => format!("%{:02X}", c as u32).chars().collect(),
        })
        .collect()
}

/// `ad-manager` — 94 v2 operations.
#[cfg(feature = "ad-manager")]
#[cfg_attr(docsrs, doc(cfg(feature = "ad-manager")))]
pub mod ad_manager;
/// `affiliate-manager` — 4 v2 operations.
#[cfg(feature = "affiliate-manager")]
#[cfg_attr(docsrs, doc(cfg(feature = "affiliate-manager")))]
pub mod affiliate_manager;
/// `agent-studio` — 11 v2 operations.
#[cfg(feature = "agent-studio")]
#[cfg_attr(docsrs, doc(cfg(feature = "agent-studio")))]
pub mod agent_studio;
/// `associations` — 10 v2 operations.
#[cfg(feature = "associations")]
#[cfg_attr(docsrs, doc(cfg(feature = "associations")))]
pub mod associations;
/// `blogs` — 7 v2 operations.
#[cfg(feature = "blogs")]
#[cfg_attr(docsrs, doc(cfg(feature = "blogs")))]
pub mod blogs;
/// `brand-boards` — 5 v2 operations.
#[cfg(feature = "brand-boards")]
#[cfg_attr(docsrs, doc(cfg(feature = "brand-boards")))]
pub mod brand_boards;
/// `businesses` — 5 v2 operations.
#[cfg(feature = "businesses")]
#[cfg_attr(docsrs, doc(cfg(feature = "businesses")))]
pub mod businesses;
/// `calendars` — 41 v2 operations.
#[cfg(feature = "calendars")]
#[cfg_attr(docsrs, doc(cfg(feature = "calendars")))]
pub mod calendars;
/// `campaigns` — 1 v2 operations.
#[cfg(feature = "campaigns")]
#[cfg_attr(docsrs, doc(cfg(feature = "campaigns")))]
pub mod campaigns;
/// `companies` — 1 v2 operations.
#[cfg(feature = "companies")]
#[cfg_attr(docsrs, doc(cfg(feature = "companies")))]
pub mod companies;
/// `contacts` — 32 v2 operations.
#[cfg(feature = "contacts")]
#[cfg_attr(docsrs, doc(cfg(feature = "contacts")))]
pub mod contacts;
/// `conversation-ai` — 12 v2 operations.
#[cfg(feature = "conversation-ai")]
#[cfg_attr(docsrs, doc(cfg(feature = "conversation-ai")))]
pub mod conversation_ai;
/// `conversations` — 29 v2 operations.
#[cfg(feature = "conversations")]
#[cfg_attr(docsrs, doc(cfg(feature = "conversations")))]
pub mod conversations;
/// `courses` — 1 v2 operations.
#[cfg(feature = "courses")]
#[cfg_attr(docsrs, doc(cfg(feature = "courses")))]
pub mod courses;
/// `custom-fields` — 8 v2 operations.
#[cfg(feature = "custom-fields")]
#[cfg_attr(docsrs, doc(cfg(feature = "custom-fields")))]
pub mod custom_fields;
/// `custom-menus` — 5 v2 operations.
#[cfg(feature = "custom-menus")]
#[cfg_attr(docsrs, doc(cfg(feature = "custom-menus")))]
pub mod custom_menus;
/// `email-isv` — 1 v2 operations.
#[cfg(feature = "email-isv")]
#[cfg_attr(docsrs, doc(cfg(feature = "email-isv")))]
pub mod email_isv;
/// `emails` — 5 v2 operations.
#[cfg(feature = "emails")]
#[cfg_attr(docsrs, doc(cfg(feature = "emails")))]
pub mod emails;
/// `forms` — 3 v2 operations.
#[cfg(feature = "forms")]
#[cfg_attr(docsrs, doc(cfg(feature = "forms")))]
pub mod forms;
/// `funnels` — 7 v2 operations.
#[cfg(feature = "funnels")]
#[cfg_attr(docsrs, doc(cfg(feature = "funnels")))]
pub mod funnels;
/// `invoices` — 42 v2 operations.
#[cfg(feature = "invoices")]
#[cfg_attr(docsrs, doc(cfg(feature = "invoices")))]
pub mod invoices;
/// `knowledge-base` — 14 v2 operations.
#[cfg(feature = "knowledge-base")]
#[cfg_attr(docsrs, doc(cfg(feature = "knowledge-base")))]
pub mod knowledge_base;
/// `links` — 6 v2 operations.
#[cfg(feature = "links")]
#[cfg_attr(docsrs, doc(cfg(feature = "links")))]
pub mod links;
/// `locations` — 29 v2 operations.
#[cfg(feature = "locations")]
#[cfg_attr(docsrs, doc(cfg(feature = "locations")))]
pub mod locations;
/// `marketplace` — 9 v2 operations.
#[cfg(feature = "marketplace")]
#[cfg_attr(docsrs, doc(cfg(feature = "marketplace")))]
pub mod marketplace;
/// `medias` — 7 v2 operations.
#[cfg(feature = "medias")]
#[cfg_attr(docsrs, doc(cfg(feature = "medias")))]
pub mod medias;
/// `oauth` — 3 v2 operations.
#[cfg(feature = "oauth")]
#[cfg_attr(docsrs, doc(cfg(feature = "oauth")))]
pub mod oauth;
/// `objects` — 9 v2 operations.
#[cfg(feature = "objects")]
#[cfg_attr(docsrs, doc(cfg(feature = "objects")))]
pub mod objects;
/// `opportunities` — 12 v2 operations.
#[cfg(feature = "opportunities")]
#[cfg_attr(docsrs, doc(cfg(feature = "opportunities")))]
pub mod opportunities;
/// `payments` — 23 v2 operations.
#[cfg(feature = "payments")]
#[cfg_attr(docsrs, doc(cfg(feature = "payments")))]
pub mod payments;
/// `phone-system` — 4 v2 operations.
#[cfg(feature = "phone-system")]
#[cfg_attr(docsrs, doc(cfg(feature = "phone-system")))]
pub mod phone_system;
/// `products` — 27 v2 operations.
#[cfg(feature = "products")]
#[cfg_attr(docsrs, doc(cfg(feature = "products")))]
pub mod products;
/// `proposals` — 4 v2 operations.
#[cfg(feature = "proposals")]
#[cfg_attr(docsrs, doc(cfg(feature = "proposals")))]
pub mod proposals;
/// `saas-api` — 22 v2 operations.
#[cfg(feature = "saas-api")]
#[cfg_attr(docsrs, doc(cfg(feature = "saas-api")))]
pub mod saas_api;
/// `snapshots` — 4 v2 operations.
#[cfg(feature = "snapshots")]
#[cfg_attr(docsrs, doc(cfg(feature = "snapshots")))]
pub mod snapshots;
/// `social-media-posting` — 40 v2 operations.
#[cfg(feature = "social-media-posting")]
#[cfg_attr(docsrs, doc(cfg(feature = "social-media-posting")))]
pub mod social_media_posting;
/// `store` — 18 v2 operations.
#[cfg(feature = "store")]
#[cfg_attr(docsrs, doc(cfg(feature = "store")))]
pub mod store;
/// `surveys` — 2 v2 operations.
#[cfg(feature = "surveys")]
#[cfg_attr(docsrs, doc(cfg(feature = "surveys")))]
pub mod surveys;
/// `users` — 7 v2 operations.
#[cfg(feature = "users")]
#[cfg_attr(docsrs, doc(cfg(feature = "users")))]
pub mod users;
/// `voice-ai` — 11 v2 operations.
#[cfg(feature = "voice-ai")]
#[cfg_attr(docsrs, doc(cfg(feature = "voice-ai")))]
pub mod voice_ai;
/// `workflows` — 1 v2 operations.
#[cfg(feature = "workflows")]
#[cfg_attr(docsrs, doc(cfg(feature = "workflows")))]
pub mod workflows;