Appearance
@gethook/java — SDK Reference
About 970 wordsAbout 3 min
Installation
<!-- Maven -->
<dependency>
<groupId>dev.gethook</groupId>
<artifactId>gethook-java</artifactId>
<version>0.1.0</version>
</dependency>Setup
import dev.gethook.*;
import dev.gethook.api.*;
import dev.gethook.model.*;
import dev.gethook.auth.ApiKeyAuth;
ApiClient client = Configuration.getDefaultApiClient();
client.setBasePath("https://api.gethook.to");
((ApiKeyAuth) client.getAuthentication("ApiKeyAuth")).setApiKey("hk_your_api_key");Error handling
try {
List<Source> sources = new SourcesApi(client).listSources();
} catch (ApiException e) {
System.err.println("Error " + e.getCode() + ": " + e.getResponseBody());
}Health
new HealthApi(client).healthz()
Liveness check.
Returns: object
var result = new HealthApi(client).healthz()new HealthApi(client).readyz()
Readiness check.
Returns: object
var result = new HealthApi(client).readyz()Accounts
new AccountsApi(client).createAccount(body)
Create account.
Creates a new account and returns a bootstrap API key. No authentication required.
Parameters:
bodyCreateAccountRequest— Request body
Returns: AccountBootstrapData
CreateAccountRequest body = new CreateAccountRequest();
body.setName("My Company");
var result = new AccountsApi(client).createAccount(body)Auth
new 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
LoginRequest body = new LoginRequest();
body.setEmail("admin@example.com");
body.setPassword("supersecret");
var result = new AuthApi(client).login(body)new 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
RegisterRequest body = new RegisterRequest();
body.setEmail("admin@example.com");
body.setName("My Company");
body.setPassword("supersecret");
var result = new AuthApi(client).register(body)API Keys
new ApiKeysApi(client).listApiKeys()
List API keys.
Returns: APIKey[]
var result = new ApiKeysApi(client).listApiKeys()new ApiKeysApi(client).createApiKey(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
CreateAPIKeyRequest body = new CreateAPIKeyRequest();
body.setName("production");
var result = new ApiKeysApi(client).createApiKey(body)new ApiKeysApi(client).deleteApiKey("<id>")
Revoke API key.
Parameters:
id— API key UUID
Returns: void
new ApiKeysApi(client).deleteApiKey("<id>")Sources
new SourcesApi(client).listSources()
List sources.
Returns: Source[]
var result = new SourcesApi(client).listSources()new SourcesApi(client).createSource(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
CreateSourceRequest body = new CreateSourceRequest();
body.setName("Stripe webhooks");
var result = new SourcesApi(client).createSource(body)new SourcesApi(client).getSource("<id>")
Get source.
Parameters:
id— Source UUID
Returns: Source
var result = new SourcesApi(client).getSource("<id>")Destinations
new DestinationsApi(client).listDestinations()
List destinations.
Returns: Destination[]
var result = new DestinationsApi(client).listDestinations()new DestinationsApi(client).createDestination(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
CreateDestinationRequest body = new CreateDestinationRequest();
body.setName("My endpoint");
body.setUrl("https://example.com/webhooks");
var result = new DestinationsApi(client).createDestination(body)new DestinationsApi(client).getDestination("<id>")
Get destination.
Parameters:
id— Destination UUID
Returns: Destination
var result = new DestinationsApi(client).getDestination("<id>")new DestinationsApi(client).updateDestination("<id>", body)
Update destination.
Parameters:
id— Destination UUIDbodyUpdateDestinationRequest— Request body
Returns: Destination
UpdateDestinationRequest body = new UpdateDestinationRequest();
body.setActive(true);
body.setAuthConfig("...");
body.setCustomHeaders("...");
var result = new DestinationsApi(client).updateDestination("<id>", body)Routes
new RoutesApi(client).listRoutes()
List routes.
Returns: Route[]
var result = new RoutesApi(client).listRoutes()new RoutesApi(client).createRoute(body)
Create route.
Creates a routing rule that forwards matching events from a source to a destination.
Parameters:
bodyCreateRouteRequest— Request body
Returns: Route
CreateRouteRequest body = new CreateRouteRequest();
body.setDestinationId("uuid");
var result = new RoutesApi(client).createRoute(body)Stats
new StatsApi(client).getStats()
Get dashboard stats.
Returns: StatsData
var result = new StatsApi(client).getStats()Ingest
new IngestApi(client).ingest()
Ingest webhook event.
Accepts an inbound webhook. The path token authenticates the source — no Bearer header required.
Returns: void
new IngestApi(client).ingest()Events (Inbound)
new EventsApi(client).listEvents(null /* limit */, null /* offset */)
List inbound events.
Parameters:
limitinteger— Max results (default 25, max 200) (optional)offsetinteger— Pagination offset (optional)
Returns: EventListData
var result = new EventsApi(client).listEvents(null /* limit */, null /* offset */)new EventsApi(client).getEvent("<id>")
Get inbound event.
Parameters:
id— Event UUID
Returns: EventDetailData
var result = new EventsApi(client).getEvent("<id>")new EventsApi(client).replayEvent("<id>")
Replay inbound event.
Creates a new queued copy of the event for re-delivery.
Parameters:
id— Event UUID
Returns: void
new EventsApi(client).replayEvent("<id>")Events (Outbound)
new OutboundEventsApi(client).listOutboundEvents(null /* limit */, null /* offset */)
List outbound events.
Parameters:
limitinteger— Max results (default 25, max 200) (optional)offsetinteger— Pagination offset (optional)
Returns: EventListData
var result = new OutboundEventsApi(client).listOutboundEvents(null /* limit */, null /* offset */)new OutboundEventsApi(client).publishOutboundEvent(body)
Publish outbound event.
Queues a new outbound event for delivery to all matching route destinations.
Parameters:
bodyPublishOutboundEventRequest— Request body
Returns: PublishOutboundData
PublishOutboundEventRequest body = new PublishOutboundEventRequest();
body.setPayload("{"order_id":"123"}");
var result = new OutboundEventsApi(client).publishOutboundEvent(body)new OutboundEventsApi(client).getOutboundEvent("<id>")
Get outbound event.
Parameters:
id— Event UUID
Returns: EventDetailData
var result = new OutboundEventsApi(client).getOutboundEvent("<id>")new OutboundEventsApi(client).replayOutboundEvent("<id>")
Replay outbound event.
Parameters:
id— Event UUID
Returns: void
new OutboundEventsApi(client).replayOutboundEvent("<id>")Brand & White-Labeling
new BrandApi(client).getBrandSettings()
Get brand settings.
Returns: BrandSettings
var result = new BrandApi(client).getBrandSettings()new BrandApi(client).upsertBrandSettings(body)
Upsert brand settings.
Creates or replaces white-label brand settings for the account.
Parameters:
bodyUpsertBrandSettingsRequest— Request body
Returns: BrandSettings
UpsertBrandSettingsRequest body = new UpsertBrandSettingsRequest();
body.setCompanyName("Acme Corp");
body.setDocsTitle("Acme Webhooks");
body.setLogoUrl("https://example.com/logo.png");
var result = new BrandApi(client).upsertBrandSettings(body)Custom Domains
new CustomDomainsApi(client).listCustomDomains()
List custom domains.
Returns: CustomDomain[]
var result = new CustomDomainsApi(client).listCustomDomains()new CustomDomainsApi(client).createCustomDomain(body)
Create custom domain.
Parameters:
bodyCreateCustomDomainRequest— Request body
Returns: CustomDomain
CreateCustomDomainRequest body = new CreateCustomDomainRequest();
body.setDomain("webhooks.example.com");
var result = new CustomDomainsApi(client).createCustomDomain(body)