Appearance
@gethook/python — SDK Reference
About 833 wordsAbout 3 min
Installation
pip install gethookSetup
import gethook
config = gethook.Configuration(
host="https://api.gethook.to",
api_key={"ApiKeyAuth": "hk_your_api_key"},
)
client = gethook.ApiClient(config)Error handling
from gethook.exceptions import ApiException
try:
sources = gethook.SourcesApi(client).list_sources()
except ApiException as e:
print(f"Error {e.status}: {e.body}")Health
gethook.HealthApi(client).healthz()
Liveness check.
Returns: object
result = gethook.HealthApi(client).healthz()gethook.HealthApi(client).readyz()
Readiness check.
Returns: object
result = gethook.HealthApi(client).readyz()Accounts
gethook.AccountsApi(client).create_account(body)
Create account.
Creates a new account and returns a bootstrap API key. No authentication required.
Parameters:
bodyCreateAccountRequest— Request body
Returns: AccountBootstrapData
body = gethook.CreateAccountRequest(
name="My Company",
)
result = gethook.AccountsApi(client).create_account(body)Auth
gethook.AuthApi(client).login(body)
Login with email and password.
Authenticates with email/password and returns a fresh API key on success.
Parameters:
bodyLoginRequest— Request body
Returns: AccountBootstrapData
body = gethook.LoginRequest(
email="admin@example.com",
password="supersecret",
)
result = gethook.AuthApi(client).login(body)gethook.AuthApi(client).register(body)
Register with email and password.
Creates a new account with email/password credentials and returns a bootstrap API key.
Parameters:
bodyRegisterRequest— Request body
Returns: AccountBootstrapData
body = gethook.RegisterRequest(
email="admin@example.com",
name="My Company",
password="supersecret",
)
result = gethook.AuthApi(client).register(body)API Keys
gethook.ApiKeysApi(client).list_api_keys()
List API keys.
Returns: APIKey[]
result = gethook.ApiKeysApi(client).list_api_keys()gethook.ApiKeysApi(client).create_api_key(body)
Create API key.
Creates a new API key for the authenticated account. The full key is only returned once.
Parameters:
bodyCreateAPIKeyRequest— Request body
Returns: APIKeyWithSecret
body = gethook.CreateAPIKeyRequest(
name="production",
)
result = gethook.ApiKeysApi(client).create_api_key(body)gethook.ApiKeysApi(client).delete_api_key("<id>")
Revoke API key.
Parameters:
id— API key UUID
Returns: void
gethook.ApiKeysApi(client).delete_api_key("<id>")Sources
gethook.SourcesApi(client).list_sources()
List sources.
Returns: Source[]
result = gethook.SourcesApi(client).list_sources()gethook.SourcesApi(client).create_source(body)
Create source.
Creates a new webhook source endpoint. Returns an ingest_url to share with the event sender.
Parameters:
bodyCreateSourceRequest— Request body
Returns: Source
body = gethook.CreateSourceRequest(
name="Stripe webhooks",
)
result = gethook.SourcesApi(client).create_source(body)gethook.SourcesApi(client).get_source("<id>")
Get source.
Parameters:
id— Source UUID
Returns: Source
result = gethook.SourcesApi(client).get_source("<id>")Destinations
gethook.DestinationsApi(client).list_destinations()
List destinations.
Returns: Destination[]
result = gethook.DestinationsApi(client).list_destinations()gethook.DestinationsApi(client).create_destination(body)
Create destination.
Creates a new webhook delivery destination. The signing_secret is encrypted at rest and never returned.
Parameters:
bodyCreateDestinationRequest— Request body
Returns: Destination
body = gethook.CreateDestinationRequest(
name="My endpoint",
url="https://example.com/webhooks",
)
result = gethook.DestinationsApi(client).create_destination(body)gethook.DestinationsApi(client).get_destination("<id>")
Get destination.
Parameters:
id— Destination UUID
Returns: Destination
result = gethook.DestinationsApi(client).get_destination("<id>")gethook.DestinationsApi(client).update_destination("<id>", body)
Update destination.
Parameters:
id— Destination UUIDbodyUpdateDestinationRequest— Request body
Returns: Destination
body = gethook.UpdateDestinationRequest(
active=true,
auth_config="...",
custom_headers="...",
)
result = gethook.DestinationsApi(client).update_destination("<id>", body)Routes
gethook.RoutesApi(client).list_routes()
List routes.
Returns: Route[]
result = gethook.RoutesApi(client).list_routes()gethook.RoutesApi(client).create_route(body)
Create route.
Creates a routing rule that forwards matching events from a source to a destination.
Parameters:
bodyCreateRouteRequest— Request body
Returns: Route
body = gethook.CreateRouteRequest(
destination_id="uuid",
)
result = gethook.RoutesApi(client).create_route(body)Stats
gethook.StatsApi(client).get_stats()
Get dashboard stats.
Returns: StatsData
result = gethook.StatsApi(client).get_stats()Ingest
gethook.IngestApi(client).ingest()
Ingest webhook event.
Accepts an inbound webhook. The path token authenticates the source — no Bearer header required.
Returns: void
gethook.IngestApi(client).ingest()Events (Inbound)
gethook.EventsApi(client).list_events(limit=..., offset=...)
List inbound events.
Parameters:
limitinteger— Max results (default 25, max 200) (optional)offsetinteger— Pagination offset (optional)
Returns: EventListData
result = gethook.EventsApi(client).list_events(limit=..., offset=...)gethook.EventsApi(client).get_event("<id>")
Get inbound event.
Parameters:
id— Event UUID
Returns: EventDetailData
result = gethook.EventsApi(client).get_event("<id>")gethook.EventsApi(client).replay_event("<id>")
Replay inbound event.
Creates a new queued copy of the event for re-delivery.
Parameters:
id— Event UUID
Returns: void
gethook.EventsApi(client).replay_event("<id>")Events (Outbound)
gethook.OutboundEventsApi(client).list_outbound_events(limit=..., offset=...)
List outbound events.
Parameters:
limitinteger— Max results (default 25, max 200) (optional)offsetinteger— Pagination offset (optional)
Returns: EventListData
result = gethook.OutboundEventsApi(client).list_outbound_events(limit=..., offset=...)gethook.OutboundEventsApi(client).publish_outbound_event(body)
Publish outbound event.
Queues a new outbound event for delivery to all matching route destinations.
Parameters:
bodyPublishOutboundEventRequest— Request body
Returns: PublishOutboundData
body = gethook.PublishOutboundEventRequest(
payload="{"order_id":"123"}",
)
result = gethook.OutboundEventsApi(client).publish_outbound_event(body)gethook.OutboundEventsApi(client).get_outbound_event("<id>")
Get outbound event.
Parameters:
id— Event UUID
Returns: EventDetailData
result = gethook.OutboundEventsApi(client).get_outbound_event("<id>")gethook.OutboundEventsApi(client).replay_outbound_event("<id>")
Replay outbound event.
Parameters:
id— Event UUID
Returns: void
gethook.OutboundEventsApi(client).replay_outbound_event("<id>")Brand & White-Labeling
gethook.BrandApi(client).get_brand_settings()
Get brand settings.
Returns: BrandSettings
result = gethook.BrandApi(client).get_brand_settings()gethook.BrandApi(client).upsert_brand_settings(body)
Upsert brand settings.
Creates or replaces white-label brand settings for the account.
Parameters:
bodyUpsertBrandSettingsRequest— Request body
Returns: BrandSettings
body = gethook.UpsertBrandSettingsRequest(
company_name="Acme Corp",
docs_title="Acme Webhooks",
logo_url="https://example.com/logo.png",
)
result = gethook.BrandApi(client).upsert_brand_settings(body)Custom Domains
gethook.CustomDomainsApi(client).list_custom_domains()
List custom domains.
Returns: CustomDomain[]
result = gethook.CustomDomainsApi(client).list_custom_domains()gethook.CustomDomainsApi(client).create_custom_domain(body)
Create custom domain.
Parameters:
bodyCreateCustomDomainRequest— Request body
Returns: CustomDomain
body = gethook.CreateCustomDomainRequest(
domain="webhooks.example.com",
)
result = gethook.CustomDomainsApi(client).create_custom_domain(body)