[package]
edition = "2021"
rust-version = "1.88"
name = "ghl-sdk"
version = "0.5.2"
authors = ["Shahroz Allauddin"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Unofficial async Rust SDK for the GoHighLevel (HighLevel) API 2.0 — OAuth 2.0, Private Integration Tokens, rate-limit-aware retries, paginated streams"
documentation = "https://docs.rs/ghl-sdk"
readme = "README.md"
keywords = [
"gohighlevel",
"crm",
"api",
"mcp",
"sdk",
]
categories = ["api-bindings"]
license = "MIT OR Apache-2.0"
repository = "https://github.com/Shahroz/ghl-rs"
[package.metadata.docs.rs]
features = ["_docs"]
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
_docs = [
"full",
"webhooks",
]
ad-manager = [
"models",
"ghl-models/ad-manager",
]
ad-publishing = [
"models",
"ghl-models/ad-publishing",
]
affiliate-manager = [
"models",
"ghl-models/affiliate-manager",
]
agent-studio = [
"models",
"ghl-models/agent-studio",
]
associations = [
"models",
"ghl-models/associations",
]
blogs = [
"models",
"ghl-models/blogs",
]
brand-boards = [
"models",
"ghl-models/brand-boards",
]
businesses = [
"models",
"ghl-models/businesses",
]
calendars = [
"models",
"ghl-models/calendars",
]
campaigns = [
"models",
"ghl-models/campaigns",
]
chat-widget = [
"models",
"ghl-models/chat-widget",
]
companies = [
"models",
"ghl-models/companies",
]
contacts = [
"models",
"ghl-models/contacts",
]
conversation-ai = [
"models",
"ghl-models/conversation-ai",
]
conversations = [
"models",
"ghl-models/conversations",
]
courses = [
"models",
"ghl-models/courses",
]
custom-fields = [
"models",
"ghl-models/custom-fields",
]
custom-menus = [
"models",
"ghl-models/custom-menus",
]
default = []
email-isv = [
"models",
"ghl-models/email-isv",
]
emails = [
"models",
"ghl-models/emails",
]
forms = [
"models",
"ghl-models/forms",
]
full = [
"ad-manager",
"ad-publishing",
"affiliate-manager",
"agent-studio",
"associations",
"blogs",
"brand-boards",
"businesses",
"calendars",
"campaigns",
"chat-widget",
"companies",
"contacts",
"conversation-ai",
"conversations",
"courses",
"custom-fields",
"custom-menus",
"email-isv",
"emails",
"forms",
"funnels",
"invoices",
"knowledge-base",
"links",
"locations",
"marketplace",
"medias",
"oauth",
"objects",
"opportunities",
"payments",
"phone-system",
"products",
"proposals",
"saas",
"saas-api",
"snapshots",
"social-media-posting",
"social-planner",
"store",
"surveys",
"users",
"voice-ai",
"workflows",
]
funnels = [
"models",
"ghl-models/funnels",
]
invoices = [
"models",
"ghl-models/invoices",
]
knowledge-base = [
"models",
"ghl-models/knowledge-base",
]
links = [
"models",
"ghl-models/links",
]
locations = [
"models",
"ghl-models/locations",
]
marketplace = [
"models",
"ghl-models/marketplace",
]
medias = [
"models",
"ghl-models/medias",
]
models = ["dep:ghl-models"]
oauth = [
"models",
"ghl-models/oauth",
]
objects = [
"models",
"ghl-models/objects",
]
opportunities = [
"models",
"ghl-models/opportunities",
]
payments = [
"models",
"ghl-models/payments",
]
phone-system = [
"models",
"ghl-models/phone-system",
]
products = [
"models",
"ghl-models/products",
]
proposals = [
"models",
"ghl-models/proposals",
]
saas = [
"models",
"ghl-models/saas",
]
saas-api = [
"models",
"ghl-models/saas-api",
]
snapshots = [
"models",
"ghl-models/snapshots",
]
social-media-posting = [
"models",
"ghl-models/social-media-posting",
]
social-planner = [
"models",
"ghl-models/social-planner",
]
store = [
"models",
"ghl-models/store",
]
surveys = [
"models",
"ghl-models/surveys",
]
users = [
"models",
"ghl-models/users",
]
voice-ai = [
"models",
"ghl-models/voice-ai",
]
webhooks = [
"dep:rsa",
"dep:sha2",
"dep:base64",
]
workflows = [
"models",
"ghl-models/workflows",
]
[lib]
name = "ghl_sdk"
path = "src/lib.rs"
[[test]]
name = "api"
path = "tests/api.rs"
[[test]]
name = "generated_services"
path = "tests/generated_services.rs"
[dependencies.async-trait]
version = "0.1"
[dependencies.base64]
version = "0.22"
optional = true
[dependencies.fastrand]
version = "2"
[dependencies.futures-util]
version = "0.3"
features = ["std"]
default-features = false
[dependencies.ghl-models]
version = "0.5.2"
optional = true
default-features = false
[dependencies.reqwest]
version = "0.12"
features = [
"json",
"rustls-tls",
"charset",
"http2",
]
default-features = false
[dependencies.rsa]
version = "0.9"
features = ["sha2"]
optional = true
[dependencies.secrecy]
version = "0.10"
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.sha2]
version = "0.10"
optional = true
[dependencies.thiserror]
version = "2"
[dependencies.tokio]
version = "1"
features = [
"macros",
"rt-multi-thread",
"sync",
"time",
]
[dependencies.tracing]
version = "0.1"
[dev-dependencies.rand]
version = "0.8"
[dev-dependencies.tokio]
version = "1"
features = ["full"]
[dev-dependencies.wiremock]
version = "0.6"